Ejemplo n.º 1
0
var request_yelp = function(lng_lat) {

  /* The url we are using for the request */
  var url = 'http://api.yelp.com/v2/search';

  /* We can setup default parameters here */
  var default_parameters = {
    term: 'coffee',
    ll: lng_lat.lat + ',' + lng_lat.lng,
    sort: '2'
  };

  /* We set the require parameters here */
  var required_parameters = {
    oauth_consumer_key : process.env.oauth_consumer_key,
    oauth_token : process.env.oauth_token,
    oauth_nonce : n(),
    oauth_timestamp : n().toString().substr(0,10),
    oauth_signature_method : 'HMAC-SHA1',
    oauth_version : '1.0'
  };

  /* We combine all the parameters in order of importance */
  var parameters = _.assign(default_parameters, lng_lat, required_parameters);

  /* We set our secrets here */
  var consumerSecret = process.env.consumerSecret;
  var tokenSecret = process.env.tokenSecret;

  /* Then we call Yelp's Oauth 1.0a server, and it returns a signature */
  /* Note: This signature is only good for 300 seconds after the oauth_timestamp */
  var signature = oauthSignature.generate('GET', url, parameters, consumerSecret, tokenSecret, { encodeSignature: false});

  /* We add the signature to the list of paramters */
  parameters.oauth_signature = signature;

  /* Then we turn the paramters object, to a query string */
  var paramURL = qs.stringify(parameters);

  /* Add the query string to the url */
  var apiURL = url+'?'+paramURL;

  /* Then we use request to send make the API Request */
  request(apiURL, function(error, response, body){
    return response
  });

};
        _private: function(parameters, callback){
            var options;

            parameters.nonce = nonce();
            options = {
                method: 'POST',
                url: PRIVATE_API_URL,
                form: parameters,
                headers: this._getPrivateHeaders(parameters)
            };

            return this._request(options, callback);
        },
Ejemplo n.º 3
0
export var requestYelp = function (setParameters, busId, searchBar) {
  console.log('requestYelp called')
  var httpMethod = 'GET';

  if (busId) {
    var url = endpointBusID + setParameters;
  } else {
    var url = endpointNewPlace;
  }

  var defaultParameters = {};

  var requiredParameters = {
    oauth_consumer_key: YELP_CONSUMER_KEY,
    oauth_token: YELP_TOKEN,
    oauth_nonce: n()(),
    oauth_timestamp: n()().toString().substr(0, 10),
    oauth_signature_method: 'HMAC-SHA1',
    oauth_version: '1.0'
  };

  if (busId) {
    var parameters = _.assign(requiredParameters);
  } else {
    var parameters = _.assign(setParameters, requiredParameters);
  }

  var consumerSecret = YELP_CONSUMER_SECRET;
  var tokenSecret = YELP_TOKEN_SECRET;
  // Call Yelp servers for a oAuth signature (only good for 300 sec)
  var signature = oauthSignature.generate(
    httpMethod,
    url,
    parameters,
    consumerSecret,
    tokenSecret,
    {encodeSignature: false}
  );

  parameters.oauth_signature = signature;
  console.log('parameters', parameters);
  var paramUrl = qs.stringify(parameters);

  var apiUrl = url + '?' + paramUrl;

  return new Promise((resolve, reject) => {
    // console.log(apiUrl);
    request(apiUrl, function(err, res, body) {
      // console.log('yelp res', res);
      if (err) {
        console.log('**********************************');
        console.log('ERROR', err);
        reject(err);
      }

      var data = JSON.parse(body);
      // console.log('returning data', data);
      if (busId) {
        resolve(parseYelpData(data));
      } else if (data.businesses.length > 0) {
        if (searchBar) {
          resolve(data.businesses.map(business => parseYelpData(business)));
        } else {
          resolve(parseYelpData(data.businesses[0]));
        }
      } else {
        resolve();
      }
    });
  });

};
Ejemplo n.º 4
0
var oauthSignature = require('oauth-signature');
var qs = require('querystring');
var request = require('request');
var _ = require('lodash');
var UBER = require('node-uber');
var n = require('nonce');
// THE FOLLOWING FILES ARE FOR CONFIGS FOR UBER AND YELP
// YOU MUST MAKE YOUR OWN ACCOUNTS AND PUT THE INFORMATION IN THE
// .CONFIG file.  THEN, UNCOMMENT THIS TO CONNECT IT.
// var Yelp = require('./config.js').Yelp;
// var uberConfig = require('./config.js').Uber;


var ts = Date.now();
var non = n();
var host = "";

if(process.env.PORT){
  host = "https://swiftsrv.herokuapp.com";

  Yelp = {
    oauth_consumer_key: process.env.YELP_KEY,
    consumersecret: process.env.YELP_SECRET,
    oauth_token: process.env.YELP_OAUTH,
    tokensecret: process.env.YELP_TOKEN,
    oauth_signature_method: "HMAC-SHA1",
    oauth_timestamp: ts,
    oauth_nonce: non(),
    oauth_version: "1.0"
  };