Socket
Socket
Sign inDemoInstall

fbgraphapi

Package Overview
Dependencies
0
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    fbgraphapi

Simple facebook api client


Version published
Weekly downloads
43
increased by34.38%
Maintainers
1
Install size
24.5 kB
Created
Weekly downloads
 

Readme

Source

Facebook nodejs

A simple module for querying Facebook graph api and fql

Usage example

// run first: npm install express fbgraphapi body-parser cookie-parser express-session
const express = require('express');
const fbgraph = require('fbgraphapi');
const bodyParser = require('body-parser');
const cookieParser = require('cookie-parser');
const session = require('express-session');

const app = express();
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser())
app.use(session({
  secret: 'keyboard cat',
  resave: false,
  saveUninitialized: true,
  cookie: { secure: false }
}))

app.use(fbgraph.auth( {
		appId : "...",
		appSecret : "...",
		redirectUri : "http://0.0.0.0:3000/",
		apiVersion: "v2.9",
		skipUrlPatterns: ["/favicon.ico"]
	}));

app.get('/login', function(req, res) {
	console.log('Start login');
	fbgraph.redirectLoginForm(req, res);
});

app.get('/', function(req, res) {
	if (!req.hasOwnProperty('facebook')) {
		console.log('You are not logged in');
		return res.redirect('/login');
	}
	/* See http://developers.facebook.com/docs/reference/api/ for more */
	req.facebook.graph('/me', function(err, me) {
	    console.log(me);
	});

	req.facebook.graph('/me?fields=id,name', function(err, me) {
	    console.log(me);
	});

	req.facebook.me(function(err, me) {
	    console.log(me);
	});

	// /me/likes
	req.facebook.my.likes(function(err, likes) {
	    console.log(likes);
	});

	res.end("Check console output");
});

app.listen(3000);

Or if have a valid access token for instance from javascript fb connect

var fb = new fbgraph.Facebook(accessToken, 'v2.2');
fb.me(function(err, me) {
	console.log(me);
});

Or do stuff on behalf of the app or user with granted permissions

var fb = new fbgraph.Facebook(fbgraph.getAppId() + '|' + fbgraph.getAppSecret());
fb.post('/{user-id}/feed', {message: 'Hello world'},function(err, res) {
	console.log(err, res);
});

Facebook API reference

Visit the links bellow for API documentation of Facebook API https://developers.facebook.com/docs/graph-api/using-graph-api

Methods

auth(config)

config is an object with those properties

  • appId Facebook application Id
  • appSecret Secret hash key generated by Facebook
  • redirectUri The url to redirect to when user logged in.
  • apiVersion Which api version to use, example v2.2
  • scope Permissions/scope that your application asks for, optional and default empty.
  • skipUrlPatterns Array of patterns which to not apply authentication on. They can be regexp or string. If string a regexp will be created with wildcard appending at the end. If you want an exact url make sure specify regexp.

authenticate(req, res, next)

This method is returned when calling auth() above. When loggin is successfull it will assign a Facebook instance to req (see example above).

redirectLoginForm(req, res)

This method will redirect user to Facebook login form.

destroySession(req, res, clearCookie)

This method is for logging out user or for any reason want to clear user's logged-in info

getAppId()

return app id, set via auth()

getAppSecret()

return app secret, set via auth()

Classes

Facebook(accessToken, apiVersion)

Usage: if have a valid accessToken for instance from js login

var fb = new Facebook(accessToken, 'v2.2');
fb.me(function(err, me) {
	console.log(me);
});

My(facebook)

This class uses internally to create object my (property in Facebook). This object wrap the me-object. Each connection type is a method. This means that you can make a call like

req.facebook.my.friends(function(err, friends) {
	console.log(friends)
});

// OR for checkins
req.facebook.my.checkins(function(err, checkins) {
	console.log(checkins)
});

Supported connection types are:

  • friends
  • feed
  • likes
  • movies
  • music
  • books
  • albums
  • notes
  • permissions
  • photos
  • videos
  • events
  • groups
  • checkins
  • locations

If you can not find a connection that Facebook has but not here you can use connection-method

req.facebook.my.connection('{connection type}', function(err, result) {
	console.log(result)
});

Keywords

FAQs

Last updated on 05 May 2018

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc