Example #1
0
	query.findOne(function (err, user) {
		if (err) return handleError(err);
		      
			      
			      
			//console.log("req.user: "******"cover" };
		        graph.get("me", params,  function(err, coverResponse) {
		        if (err) return handleError(err);
		        //console.log(coverResponse.cover);
		        coverPhoto = coverResponse.cover.source;
		        });
			    
			      
			var likes;
			var params = { fields: "likes" };	//fields: "posts"
			graph.get("me", params,  function(err, likesResponse) {
			if (err) return handleError(err);
			
			console.log(likesResponse.likes.data);
			likes = likesResponse.likes.data;
			res.render('facebooklikes', {coverPhoto: coverPhoto, posts: likes, user: req.user});
			});
			      
			    	
		          
	});
Example #2
0
    query.findOne(function (err, user) {
    if (err) return handleError(err);
    if (user) {
            console.log("FOUND");
            console.log(user.name);
             graph.setAccessToken(user.access_token);
             var myid = user.id;

             graph.get(
    "/user/birthday",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
        console.log(response)
      }
      });




             return myid;

      
        }

      });
Example #3
0
app.get('/new', function (req, res) {
	var view = {
		authenticated: !!req.query.access_token,
		error: ''
	};

	var render = function () {
		res.render('add.ejs', view);
	};

	if (view.authenticated) {
		view.access_token = req.query.access_token;
		view.client_id = req.query.client_id || '';
		view.client_secret = req.query.client_secret || '';

		graph.setAccessToken(view.access_token);
		graph.get('/me/groups', function (err, fbRes) {
			if (err) {
				res.status(500).send('Cannot retrieve your groups');
				return;
			}

			view.groups = fbRes.data;

			render();
		});
	} else {
		render();
	}
});
Example #4
0
      async.eachLimit(res.data, LIMIT, function(entry, pageCallback) {
        var page = {
          name: entry.name,
          category: entry.category,
          id: entry.id,
          query: query
        };

        //log.debug(page, 'found page');

        graph.get(page.id, function(err, res) {
          if(res.location && res.location.country && res.location.country != 'Portugal') {
            return pageCallback(); // ingore pages that are not Portuguese
          }
          pagesFound.push(page);
          
          var newPage = new Page(page);
          newPage.save(function (err){
            if (err) {
              if(err.code == 11000) {
                // Page already exists
                return pageCallback();
              }
              log.error({err: err, page: page}, 'error creating page');
              return pageCallback(err);
            }
              
            log.info({page: page}, 'created a new page');
            pageCallback();
          });
        });

      },function(err){
Example #5
0
  getUnreadMessages: function() {

    graph.get('/me/inbox', { limit: 20 }, function (err, res) {
      if (err) {
        log.error(err);
      } else {
        var results = [];
        for (var i in res.data) {
          var currentData = res.data[i];
          if(currentData.unread) {
            log.debug('Logging inbox res.data['+i+']: ', currentData.id, currentData.to.data);

            var lastMessage = undefined;
            if(currentData.comments) {
              lastMessage = currentData.comments.data.slice(currentData.comments.data.length - 3, currentData.comments.data.length);
            }
            results.push({
              id: res.data[i].id,
              to: res.data[i].to.data,
              lastMessage: lastMessage,
              unseen: res.data[i].unseen,
              unread: res.data[i].unread
            });
          }
        }
        events.emit('fbUnreadMessages', results);
      }
    });

  },
Example #6
0
function verifyToken(token, callback) {
  fbgraph.setAccessToken(token);
  fbgraph.get("me", function(err, res) {
    if (err) callback(error);
    else callback(null, res);
  });
}
Example #7
0
app.get('/facebook/default', function(req, res) {

	graph.get('/me/friends', function(err, response) {
		data = {};
		var data = [];

		function increment(i) {
			var tempJSON = {};
			var rand = Math.floor(Math.random() * response.data.length);
		graph.get("/me/mutualfriends/" + response.data[rand].id, function(err2, response2) {
		if(i < 25) {
			var str = response.data[rand].name;
			tempJSON.posts = response2.data.length;
			tempJSON.name = str.substr(0, str.indexOf(' '));
			data.push(tempJSON);
			increment(i+1);
		  }
		  else {
		  	res.json(data);
		  }
		});
	}

increment(0);

	});
});
Example #8
0
 }, function (err, result) {
    if(!err){
       req.session.fbToken = result.access_token;
       graph.get('/me',function(err,fbUser){
          if(err){
             return res.send("failed to query FB user with access token");
          }
          db.findUser(fbUser.id).then(function(user){
             if(user){
                req.session.userId = user._id.toString();
                return res.redirect(redirectTo);
             }
             user = {
                facebookId: fbUser.id,
                name: fbUser.name,
                email: fbUser.email
             };
             db.createUser(user).then(function(result){
                req.session.userId = result._id.toString();
                res.redirect(redirectTo);
             });
          });
       });
    }
 });
app.get('/fbphotos', ensureAuthenticated, function(req, res){
var tempRes;
  Facebook.get('/me/photos?access_token=' + superuser.access_token,
    function(err, response){
      tempRes = response.data[0].images[4].source;
      var tempJSON ={
        im1: response.data[0].images[5].source,
        im2: response.data[2].images[5].source,
        im3: response.data[9].images[5].source,
        im4: response.data[8].images[5].source,
        im5: response.data[3].images[5].source,
        im6: response.data[16].images[5].source,
        im7: response.data[20].images[5].source,
        im8: response.data[10].images[5].source,
        im9: response.data[5].images[5].source
      };
      /*
      for(var i = 0; i < 10; i++){
        //console.log(response.data[i].images[4].source);
        tempJSON.im = response.data[i].images[4].source;
      }
      */
        console.log(tempJSON.im1);
        console.log(parseInt(Math.random()*10));
     //console.log(response.data[].images);
      res.render('fbphotos', {user: req.user, superuser: superuser, picture: tempJSON});
      //console.log(tempRes);
    });
  //post hella shit to fb account
});
Example #10
0
exports.index = function(req, res){

	// get facebook friends
	var secretAccess = "CAACEdEose0cBAJnqSmJE1Ufb2l9ZCXsBKhgmnB2PpxVgRuivDaHkyk84sWkEbUC7xxFXsRcIlZBEX7ECFV1wY0UyZAeg5V039Lh2Qfr8cgkRZAN7N2wgbgwXtLckWNlHG8SsmBA1ZCl2EwMgdZBGCjLmV8PAhlmyYtzt0w9drsRMYoJLguKWCd1kKY3X2Ii4WJ2ZBm3Fs9urAZDZD";

	graph.setAccessToken(secretAccess);

	var friendlist = [];
	var ownerId = '6026602';
	var ownerName = 'Lauren Ashpole';
	graph.get(ownerId + '/friends', function(err, data) {
		for (var key in data) {
			for (var i = 0; i < data[key].length; i++) {
				friendlist.push(data[key][i].id);
			}
		}
	});

	// get dropbox user info
	client.getAccountInfo(function(error, accountInfo) {
		if (error) {
			return showError(error);
		}
		res.render('index', { user: req.user, friendlist: friendlist, ownerId: ownerId, ownerName: ownerName, dropboxName: accountInfo.name });
	});

};
Example #11
0
exports.fb_mlogin = function (token, done) {
    graph.setAccessToken(token);

    graph.get("me", function (err, res) {
        if (err) {
            logger.error('err', err);
            done(err)
        } else {
            logger.debug('me', res);
            var memberId = res.id;
            var memberEmail = res.email;
            if (res.gender == 'male') {
                var gender = 1;
                var memberOption = 1;
            } else {
                var gender = 2;
                var memberOption = 2;
            }
            var memberName = res.name;
            var datas = [memberId, gender, memberName, memberOption, memberEmail];
            logger.debug('res', res);
            done(null, datas)
        }
    });
}
Example #12
0
	app.post('/rest/add/article', function (req, res){
		var http = require('http');
		var post = req.body;
		var Firebase = require('firebase');
		var myRootRef = new Firebase('https://rentie.firebaseio.com/article');
		myRootRef.push(post);
		
	  	var wallPost = {
	  	  message: "Fire Notice at "+ post.location
	  	};
	  	graph.get("/oauth/access_token?client_id=CLIENT_ID&client_secret=SECRET_KEY&grant_type=client_credentials", function(err, res){
	  		console.log(res)
			// graph.setAccessToken(res.access_token)			
			// graph.get("/131613223561516",  function(err, res) {
			// 	console.log(res)	  		
			// });

	  		graph.post("/me/feed", wallPost, function(err, ress) {				
	  			console.log(ress.data)	  			
	  		});	
	  		
			graph.get("/me/accounts",  function(err, ress) {				
				console.log(ress.data)
				graph.post("/804124363028186/feed?access_token="+ress.data[0].access_token, wallPost,  function(err, res) {
					console.log(res)
					response.redirect('http://localhost:3100/#/home');	  
				}); 
			});	

	  	})

	  	res.redirect('http://localhost:3100/#/home');
	  	
	});
Example #13
0
function(callback)
  {
    graph.get(req.params.page_name , function(err ,res)
    {
    callback(null,res.id);
    });
  },
Example #14
0
				}, function(err, friend) {
				    				    
					friends.push(friend);
					cb(err);

					// fill in missing data
					if (friend._artists.facebook.length == 0) {
						fbgraph.get(friend.fbid + '/music', function(err, res) {
							if (res.data.length > 0) {
								var artists = [];

								async.each(res.data, function(artist, cb) {
									Artist.modcreate(artist.name, {
										name: artist.name,
										fbid: artist.id
									}, function(err, artist) {
										artists.push(artist._id);
										cb(err);
									});
								}, function(err) {
									friend._artists.facebook = artists;
									friend.save(function(err, n) {})
								});
							}
						});
					}
				});
Example #15
0
exports.view = function(req, res) {
	var data = { };
	data.facebook_auth = req.session.facebook;
	data.twitter_auth = req.session.twitter;
	if(typeof req.session.fbconfig != 'undefined'){
		graph.setAccessToken(req.session.fbconfig.access_token);
		graph.get("me/posts?fields=message", function(err, gres){
			data.messages = gres.data;
			console.log(gres);
			res.render('myitems', data);
		});
		
	}else{
		console.log('req.session.fbconfig is undefined');

		if(typeof req.session.twitconfig != 'undefined'){
			var T = new Twit({
				consumer_key: req.session.twitconfig.consumer_key,
				consumer_secret: req.session.twitconfig.consumer_secret,
				access_token: req.session.twitconfig.access_token,
				access_token_secret: req.session.twitconfig.access_token_secret
			});
			T.get('statuses/user_timeline', function(err, reply){
				console.log(reply);
				data.tweets = reply;
				res.render('myitems', data);
			});
		}else{
			console.log('req.session.twitconfig is undefined');
			res.render('myitems', data);
		}
	}
	
}
Example #16
0
exports.writeFbData = function (req, res) {
    graph.get("/me/statuses?limit=15", function(err, result) {
        var statusArr = result.data.reverse(); //reversed to put in intuitive time order
        var outputString = "status\tlikes\tdate\n";
        var statuses = [];

        for(var i = 0; i<statusArr.length; i++) {
            if(statusArr[i].likes) {
                outputString = outputString + statusArr[i].id + "\t" + statusArr[i].likes.data.length + "\t" + statusArr[i].updated_time.split("T")[0] + "\n";
            }
            else {
                outputString = outputString + statusArr[i].id + "\t0" +  "\t" + statusArr[i].updated_time.split("T")[0] + "\n";
            }

            statuses[i] = statusArr[i].message;
        }

        fs.writeFile('./public/data.tsv', outputString, function (err) {
            if (err) return console.log(err);
            //console.log(outputString + ' > data.tsv');

            res.render("index", {'showGraph': true, 'statuses': statuses, 'name': result.data[0].from.name});
        });
    } );
}
Example #17
0
  graph.get(req.user.facebook + '/friends', function(err, friends) {
    var randomNo = Math.floor((Math.random() * friends.data.length) + 1);
    var selectedFriend = friends.data[randomNo];

    graph.get(selectedFriend.id, function(err, personData) {
      if (err) return next(err);

      if (personData.birthday == null ||
          personData.education == null ||
          personData.hometown == null ||
          personData.gender == null ||
          personData.location == null) {
        res.redirect('/guesswho');
      }
      res.render('guesswho', {
        title: 'Guess Who',
        mysteryName: personData.name,
        mysteryBirthday: personData.birthday,
        mysteryEducation: personData.education[0],
        mysteryHometown: personData.hometown,
        mysteryLocation: personData.location,
        mysteryGender: personData.gender
      });
    });    
  });
Example #18
0
exports.fbuser = function(req, res){    
    graph.get("/me", function(err, res1) {
       //console.log(res1);
       res.render('fblogin', res1);
    });
    
}
Example #19
0
 var getPosts = function(err, result) {
   count++
   //request to fb api takes longer than 30 secs which times out on free Heroku for count > 20
   if(result.paging && result.paging.previous && count<300) {
     // console.log('calling me', result.paging.previous)
     graph.get(result.paging.next, function(err, result){
       // console.log('inside recursive grah.get', result);
       if(err) {
         console.log('err', err);
       } else {
         posts = posts.concat(result.data);
         console.log('total posts', posts.length);
         // console.log('paging inside recursive graph',result);
         getPosts(err, result);
       }
     })
   } else {
     // console.log('exiting', count);
     console.log('total posts exiting', posts.length);
     res.send(posts);
     // console.log(posts);
     writeFBCSV(posts);
     return
   }
 };
Example #20
0
	app.get('/rest/profile', ensureAuth, function(req, response){
	  var data = "";
	  graph
	    .get("/me", function(err, res) {
	      response.send(res)
	  });
	});	
Example #21
0
app.post('/nominees', function(request,response){
	

	if(request.user == null){
		response.status(400).send("Error: Not Authorized");
	} else { 
		var uid = parseInt(request.body.uid);
		if(isNaN(uid) == true){
			response.status(400).send("Error: Invalid UID");
		}
		else{
			var uidUrl = "/" + request.body.uid + "?fields=name";
			//console.log(request);
			graph.get(uidUrl, {access_token : request.user.accessToken} ,function(err, res) {
				//console.log("\n\n\nResponse: " + res + "\n\n\n");
				var nomineeParam = {};
				nomineeParam[res.name] = {
					uid: uid,
					CScore : 0,
					VScore: 0,
					TScore: 0,
					SScore: 0,
					Total: 0,
					pitch: "",
					profilePicture: ""
				};
				nomineesRef.update(nomineeParam);
				response.send("Added Candidate"); // { id: '4', name: 'Mark Zuckerberg'... }
			});
		}
	}
	
})
Example #22
0
 }, function (err, facebookRes) {
   // res.redirect('/UserHasLoggedIn');
   function errResp(e, r) {
     if (e) {
       console.log(e);
     }
     else {
       console.log(r);
     }
   }
   var params = { fields: 'id, name, first_name, middle_name, last_name, gender, locale, languages, link,'
                        + 'username, age_range, third_party_id, installed, timezone, updated_time,'
                        + 'verified, bio, birthday, cover, currency, devices, education, email, hometown,'
                        + 'interested_in, location, political, payment_pricepoints, favorite_athletes,'
                        + 'favorite_teams, picture, quotes, relationship_status, religion, security_settings,'
                        + 'significant_other, video_upload_limits, website, work' 
                };
   graph.get("me", params,  function(err, resp) {
     // errResp(err, resp);
     var query = { 'user.first_name': resp.first_name }
     User.findOneAndUpdate(query, { user: resp, date: new Date() }, function (er, usr) {
       if (!usr) {
         var user = new User ({ user: resp });
         user.save(function(err) {
           if (err) console.log(err);
         });        
       }
       res.redirect('/')
     })
   });;
 });
function calculateDiffs(req, res, callback) {

  var diffs = {};

  graph.setAccessToken(config.secrets.facebook.clientID + '|' + config.secrets.facebook.secret);

  /* okay, now we have set it, grab the list of events from facebook */
  graph.get("ruffstart/events", function(err, facebookRes) {
    if (err) {
      handleError(res);
    } else {
      var facebookEvents = facebookRes.data;
      /* We now have our facebook events.  Match them to the events in eventbrite */
      rest.get(
        'www.eventbriteapi.com',
        '/v3/users/me/owned_events/',
        config.secrets.eventbrite.key,
        {status:'live',order_by:'start_asc'},
        function(data) {
          /* Patch eventbrite events so the fields are the same names */
          createDiffDictionary(facebookEvents, patchEventbriteEvents(data.events), callback);
      });
    }
    /* Used to check against mongo, but should instead check against eventbrite
    Event.findAsync()
      .then(function (mongoEvents) {
        createDiffDictionary(facebookEvents, mongoEvents, callback);
      })
      .catch(handleError(res));
      */
  });
}
Example #24
0
  }, function (err, facebookRes) {
    if (facebookRes.access_token) {
      var hashed_token = crypto.createHash('md5').update(facebookRes.access_token).digest("hex");

      graph.get('me', function(err, data) {
        if (data) {
          var user = {
            hash: hashed_token,
            access_token: facebookRes.access_token,
            email: data.email,
            name: data.name,
            link: data.link
          };

          db_users.set(hashed_token, JSON.stringify(user));
          req.session.user = user;

          db_friends.get("generating:" + user.hash, function(err, reply) {
            if (!reply) {
              db_friends.del(user.hash);
              resque.enqueue('fb', 'generate', [user.hash]);
              db_friends.set("generating:" + user.hash, true);
            }
          });

          res.redirect('/friends');
          return;
        } else {
          res.redirect('/');
          return;
        }
      });
    }
  });
app.get('/UserHasLoggedIn', function(req, res) {
  Facebook.get('me', function(err, response) {
    //console.log(err); //if there is an error this will return a value
    data = { facebookData: response};
    res.render('facebookaccount', data);
  });
});
Example #26
0
exports.friendly = function(req, res) {
  var token = _.find(req.user.tokens, { kind: 'facebook' });
  graph.setAccessToken(token.accessToken);
  graph.get(req.user.facebook + '/friends', function(err, friends) {

    /* get 2 different random numbers */
    var r1 = Math.floor((Math.random() * friends.data.length));
    var r2 = Math.floor((Math.random() * friends.data.length));
    if (r1 == r2) {
      r1 = Math.floor((Math.random() * friends.data.length));
    }

    graph.get(friends.data[r1].id + '/friends/' + friends.data[r2].id, function(err, resp) {
      var result = '';
      if (resp.data.length == 0) {
        result = 'no';
      } else {
        result = 'yes';
      }
      res.render('friendly', {
        title: 'Friendly',
        opt: result,
        f1: friends.data[r1].name,
        f2: friends.data[r2].name
      });
    });
  });
};
Example #27
0
app.post('/run', checkFbSession, function(req, res, next) {

    console.log("Saving new Run for " + req.session.fb.user_id + "...");

    // Retrieve the currently logged in user details from Facebook
    graph.get("/me", function(err, user) {

        if (err) {
            handleError('Could not retrieve user info', user, req, res);
            return;
        }

        // Construct a new Run using the post data
        var run = new Run({
            friends:   req.body.friends,
            location:  req.body.location || 'Unknown Location',
            date:      new Date,
            distance:  req.body.distance,
            profileId: user.id,
            name:      user.first_name + ' ' + user.last_name
        });

        // Save the run to the database
        run.save(function(err) {

            if (err) {
                handleError('Could not save run', err, req, res);
                return;
            }

            console.log("Successfully saved new run");
            res.json({ success: true });
        });
    });
});
Example #28
0
  graph.get('/me', { fields: 'name,first_name,last_name,id' }, function(err, res) {
    user_details = res;

    graph.get('/me/music', {}, function(err, firstMusicRes) {
      musicPages = firstMusicRes.data;
      var paging = firstMusicRes.paging;

      var i = 0;
      while(paging && paging.next) {
        graph.get(paging.next, function(err, res) {
          paging = res.paging;
          musicPages.concat(res.data);
        });
        i += 1;
      }

      // create user
      var User = Parse.Object.extend("XUser");
      
      var user;
      var user_query = new Parse.Query(User);
      user_query.equalTo("name", user_details.name);
      user_query.find({success: function(found) {
        user = found[0];
        console.log('user after query is '+JSON.stringify(found));

        if(!user) {
          console.log('undefined');

          user = new User();
          var custom_acl = new Parse.ACL();
          custom_acl.setPublicWriteAccess(true);
          custom_acl.setPublicReadAccess(true);
          user.setACL(custom_acl);
          user.set('name', user_details.name);
          user.set('first_name', user_details.first_name);
          user.set('last_name', user_details.last_name);
          user.set('fbid', user_details['id']);
          user.set('music', musicPages);
          user.save({}, {
            success: function(user) {
              // Execute any logic that should take place after the object is saved.
              console.log('New object created with objectId: ' + user.id);
            },
            error: function(user, error) {
              // Execute any logic that should take place if the save fails.
              // error is a Parse.Error with an error code and message.
              console.log('Failed to create new object, with error code: ' + error.message);
            }
          });
        }
        
        response.redirect('/comfort.html');
      }});

      
    });

  });
Example #29
0
var me=function (token,cb) {
  var data=fbgraph.get('/me/?access_token='+token,function (err,data) {
//    console.log(err);
  //  console.log(data);
    cb(err,data)
    //console.log(new Date().getFullYear()-data.birthday.split('/')[2])
  })

}
Example #30
0
app.get('/UserHasLoggedIn', function(req, res) {
  //res.render("index", { title: "Logged In" });
  //res.render('index', { attr: 'hull world' });
  graph.get('/me/feed', function(err,res2) {
    //res.send(res2); // sends text response to browser
    res.render('index', { msg: "Analyzing your most recent Facebook post...", recent: res2.data[0].story, compliment: "Super cool post!" });
    //console.log(res2.data[0].story);
  })
});