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); },
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(); } }); }); };
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" };