ajax 2: foursquare api in node - github pages · • foursquare developer • checkin api •...

19
Ajax 2: FourSquare API in Node

Upload: others

Post on 03-Jun-2020

36 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ajax 2: FourSquare API in Node - GitHub Pages · • FourSquare Developer • Checkin API • Insomnia REST Client • Node.js program to access API, and retrieve checkin lists for

Ajax 2: FourSquare API in Node

Page 2: Ajax 2: FourSquare API in Node - GitHub Pages · • FourSquare Developer • Checkin API • Insomnia REST Client • Node.js program to access API, and retrieve checkin lists for

Agenda

• Foursquare Sevice

• FourSquare Developer

• Checkin API

• Insomnia REST Client

• Node.js program to access API, and retrieve checkin lists for a location

Page 3: Ajax 2: FourSquare API in Node - GitHub Pages · • FourSquare Developer • Checkin API • Insomnia REST Client • Node.js program to access API, and retrieve checkin lists for
Page 4: Ajax 2: FourSquare API in Node - GitHub Pages · • FourSquare Developer • Checkin API • Insomnia REST Client • Node.js program to access API, and retrieve checkin lists for
Page 5: Ajax 2: FourSquare API in Node - GitHub Pages · • FourSquare Developer • Checkin API • Insomnia REST Client • Node.js program to access API, and retrieve checkin lists for
Page 6: Ajax 2: FourSquare API in Node - GitHub Pages · • FourSquare Developer • Checkin API • Insomnia REST Client • Node.js program to access API, and retrieve checkin lists for

Credentials in Javascript

End Point of Interest

App Keys

Page 7: Ajax 2: FourSquare API in Node - GitHub Pages · • FourSquare Developer • Checkin API • Insomnia REST Client • Node.js program to access API, and retrieve checkin lists for

API Documentation

Page 8: Ajax 2: FourSquare API in Node - GitHub Pages · • FourSquare Developer • Checkin API • Insomnia REST Client • Node.js program to access API, and retrieve checkin lists for
Page 9: Ajax 2: FourSquare API in Node - GitHub Pages · • FourSquare Developer • Checkin API • Insomnia REST Client • Node.js program to access API, and retrieve checkin lists for

Your Credentials

JSON response

GET Request

Page 10: Ajax 2: FourSquare API in Node - GitHub Pages · • FourSquare Developer • Checkin API • Insomnia REST Client • Node.js program to access API, and retrieve checkin lists for

Insomnia

Page 11: Ajax 2: FourSquare API in Node - GitHub Pages · • FourSquare Developer • Checkin API • Insomnia REST Client • Node.js program to access API, and retrieve checkin lists for
Page 12: Ajax 2: FourSquare API in Node - GitHub Pages · • FourSquare Developer • Checkin API • Insomnia REST Client • Node.js program to access API, and retrieve checkin lists for
Page 13: Ajax 2: FourSquare API in Node - GitHub Pages · • FourSquare Developer • Checkin API • Insomnia REST Client • Node.js program to access API, and retrieve checkin lists for

• 3,374 ‘Lines’ of JSON!

Page 14: Ajax 2: FourSquare API in Node - GitHub Pages · • FourSquare Developer • Checkin API • Insomnia REST Client • Node.js program to access API, and retrieve checkin lists for

Api Programming

• Node Module simplifying interacting with HTTP in JavaScript

Page 15: Ajax 2: FourSquare API in Node - GitHub Pages · • FourSquare Developer • Checkin API • Insomnia REST Client • Node.js program to access API, and retrieve checkin lists for

Node Api Requestconst request = require('request'); const fsConfig = require('./fs-config');var fsCredentials = '&client_id=' + fsConfig.client_id + '&client_secret=' + fsConfig.client_secret + '&v=20140601'; function loadVenues(locationName, venueKeyword) { var requestOptions = { url: fsConfig.base_url + 'near=' + locationName + '&query=' + venueKeyword + fsCredentials, method: 'GET', json: {}, }; request(requestOptions, (err, response, body) => { const venues = body.response.groups[0].items; console.log(venues); }); } var locationName = 'Waterford, IE'; loadVenues(locationName, '');

Callback invoked when response

received

Page 16: Ajax 2: FourSquare API in Node - GitHub Pages · • FourSquare Developer • Checkin API • Insomnia REST Client • Node.js program to access API, and retrieve checkin lists for

ES6 Arrow Functions

• An arrow function expression has a shorter syntax compared to function expressions.

• Arrow functions are always anonymous.

request(requestOptions, (err, response, body) => { const venues = body.response.groups[0].items; console.log(venues); });

request(requestOptions, function (err, response, body) { const venues = body.response.groups[0].items; console.log(venues);});

function expression

arrow function expression

Page 17: Ajax 2: FourSquare API in Node - GitHub Pages · • FourSquare Developer • Checkin API • Insomnia REST Client • Node.js program to access API, and retrieve checkin lists for

request(requestOptions, (err, response, body) => { const venues = body.response.groups[0].items; console.log(venues); });

Page 18: Ajax 2: FourSquare API in Node - GitHub Pages · • FourSquare Developer • Checkin API • Insomnia REST Client • Node.js program to access API, and retrieve checkin lists for

Declare local array

Loop through venues

create ‘checkin’ object

store in array

print array

request(requestOptions, (err, response, body) => { const venues = body.response.groups[0].items; console.log(venues); });

request(requestOptions, (err, response, body) => { const venues = body.response.groups[0].items; const checkins = []; for (let venue of venues) { const checkin = { name: venue.venue.name, checkins: venue.venue.stats.checkinsCount, users: venue.venue.stats.usersCount, }; checkins.push(checkin); } console.log(checkins);});

Page 19: Ajax 2: FourSquare API in Node - GitHub Pages · • FourSquare Developer • Checkin API • Insomnia REST Client • Node.js program to access API, and retrieve checkin lists for

request(requestOptions, (err, response, body) => { const venues = body.response.groups[0].items; const checkins = []; for (let venue of venues) { const checkin = { name: venue.venue.name, checkins: venue.venue.stats.checkinsCount, users: venue.venue.stats.usersCount, }; checkins.push(checkin); } console.log(checkins);});