Added foursquare API

This commit is contained in:
Sahat Yalkabov
2013-11-19 16:20:18 -05:00
parent 9d3da077a6
commit 7bef3acaf3
4 changed files with 45 additions and 3 deletions

8
app.js
View File

@ -6,10 +6,12 @@ var express = require('express'),
mongoose = require('mongoose'), mongoose = require('mongoose'),
passport = require('passport'); passport = require('passport');
// Configuration (API Keys, Database URI)
// App Configuration (API Keys, Database URI)
var config = require('./config/config.json'); var config = require('./config/config.json');
var passportConf = require('./config/passport'); var passportConf = require('./config/passport');
// Load controllers // Load controllers
var home = require('./controllers/home'), var home = require('./controllers/home'),
user = require('./controllers/user'), user = require('./controllers/user'),
@ -19,6 +21,8 @@ var home = require('./controllers/home'),
// Connect to database // Connect to database
var db = mongoose.connect(config.db); var db = mongoose.connect(config.db);
// Initialize express application // Initialize express application
var app = express(); var app = express();
@ -55,6 +59,8 @@ app.get('/admin', passportConf.ensureAuthenticated, passportConf.ensureAdmin(),
app.get('/partials/:name', home.partials); app.get('/partials/:name', home.partials);
app.get('/api', api.apiBrowser); app.get('/api', api.apiBrowser);
app.get('/api/foursquare', api.foursquare);
app.get('/api/foursquare/callback', api.foursquareCallback);
app.get('/contact', contact.getContact); app.get('/contact', contact.getContact);
app.post('/contact', contact.postContact); app.post('/contact', contact.postContact);

View File

@ -1,3 +1,34 @@
var config = require('../config/config.json');
// API PROVIDERS SETUP
var foursquare = require('node-foursquare')({
secrets: {
clientId: config.foursquare.clientId,
clientSecret: config.foursquare.clientSecret,
redirectUrl: config.foursquare.callbackUrl
}
});
exports.apiBrowser = function(req, res) { exports.apiBrowser = function(req, res) {
res.render('api'); res.render('api');
}; };
exports.foursquare = function(req, res) {
res.render('api/foursquare', {
title: 'Foursquare API'
});
};
exports.foursquareCallback = function(req, res) {
foursquare.getAccessToken({
code: req.query.code
},
function(err, accessToken) {
if (err) {
res.send('An error was thrown: ' + err.message);
}
else {
// Save the accessToken and redirect.
}
});
});

View File

@ -11,6 +11,7 @@
"passport-facebook": "latest", "passport-facebook": "latest",
"passport-google": "latest", "passport-google": "latest",
"underscore": "latest", "underscore": "latest",
"forever": "latest" "forever": "latest",
"node-foursquare": "latest"
} }
} }

View File

@ -0,0 +1,4 @@
extends ../layout
block content
h1 Foursquare API