facebook v0.11.1 Facebook

Provides API wrappers for the Facebook Graph API

See: https://developers.facebook.com/docs/graph-api

Summary

Functions

Exchange an authorization code for an access token

Get the count of fans for the provided page_id

Callback implementation for c:Supervisor.init/1

Basic user infos of the logged in user (specified by the access_token)

Likes of the currently logged in user (specified by the access_token)

Gets the number of elements that a scope has in a given object

Gets the number of reactions that an object has

Basic page information for the provided page_id

Get page information for the specified fields for the provided page_id

Gets the feed of posts (including status updates) and links published by this page, or by others on this page

Deprecated: Please use fanCount instead

Retrieves a list of granted permissions

A Picture for a Facebook User

If you want to use an appsecret proof, pass it into set_appsecret

Start hook

Supervisor start

Types

fields :: list
reaction :: :reaction
response :: {:json, HashDict.t} | {:body, String.t}
using_appsecret :: boolean

Functions

accessToken(client_id, client_secret, redirect_uri, code)

Specs

Exchange an authorization code for an access token

Examples

iex> Facebook.accessToken("client_id", "client_secret", "redirect_uri", "code")
%{
  "access_token" => "ACCESS_TOKEN",
  "expires_in" => 5183976,
  "token_type" => "bearer"
}

See: https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow#confirm

fanCount(page_id, access_token)

Specs

fanCount(page_id :: integer | String.t, access_token) :: integer

Get the count of fans for the provided page_id

Example

iex> Facebook.fanCount("CocaColaMx", "<Your Token>")

See: https://developers.facebook.com/docs/graph-api/reference/page/

init()

Callback implementation for c:Supervisor.init/1.

me(fields, access_token)

Specs

Basic user infos of the logged in user (specified by the access_token).

Example

iex> Facebook.me([fields: "id,first_name"], "<Your Token>")

See: https://developers.facebook.com/docs/graph-api/reference/user/

myLikes(access_token)

Specs

myLikes(access_token) :: response

Likes of the currently logged in user (specified by the access_token)

Example

iex> Facebook.myLikes("<Your Token>")

See: https://developers.facebook.com/docs/graph-api/reference/user/likes

objectCount(scope, object_id, access_token)

Specs

objectCount(scope :: atom, object_id :: String.t, access_token) :: number

Gets the number of elements that a scope has in a given object.

An object stands for: post, comment, link, status update, photo.

If you want to get the likes of a page, please see fanCount.

Expected scopes:

  • :likes
  • :comments

Example

iex> Facebook.objectCount(:likes, "1326382730725053_1326476257382367", "<Token>")
2
iex> Facebook.objectCount(:comments, "1326382730725053_1326476257382367", "<Token>")
2

See: https://developers.facebook.com/docs/graph-api/reference/object/likes See: https://developers.facebook.com/docs/graph-api/reference/object/comments

objectCount(atom, react_type, object_id, access_token)

Specs

objectCount(reaction, react_type :: atom, object_id :: String.t, access_token) :: number

Gets the number of reactions that an object has.

Expected type of reactions:

  • :haha
  • :wow
  • :thankful
  • :sad
  • :angry
  • :love
  • :none

Examples

iex> Facebook.objectCount(:reaction, :wow, "769860109692136_1173416799336463", "<Token>")
2
iex> Facebook.objectCount(:reaction, :haha, "769860109692136_1173416799336463", "<Token>")
12
iex> Facebook.objectCount(:reaction, :thankful, "769860109692136_1173416799336463", "<Token>")
33
page(page_id, access_token)

Specs

page(page_id :: integer | String.t, access_token) :: response

Basic page information for the provided page_id

Example

iex> Facebook.page("CocaColaMx", "<Your Token>")

See: https://developers.facebook.com/docs/graph-api/reference/page

page(page_id, access_token, fields)

Specs

page(page_id :: integer | String.t, access_token, fields) :: response

Get page information for the specified fields for the provided page_id

Example

iex> Facebook.page("CocaColaMx", "<Your Token>", "id")

See: https://developers.facebook.com/docs/graph-api/reference/page

pageFeed(scope, page_id, access_token, limit \\ 25, fields \\ "")

Specs

pageFeed(scope :: atom | String.t, page_id :: String.t, access_token, limit :: number, fields :: String.t) :: Map.t

Gets the feed of posts (including status updates) and links published by this page, or by others on this page.

This function can retrieve the four types:

  • feed
  • posts
  • promotable posts (Admin permission needed)
  • tagged posts

A scope must be provided. It is a string, which represents the type of feed.

A limit of posts may be given. The maximum number that must be provided is 100.

Examples

iex> Facebook.pageFeed(:posts, "CocaColaMx", "<Your Token>")
iex> Facebook.pageFeed(:tagged, "CocaColaMx", "<Your Token>", 55)
iex> Facebook.pageFeed(:promotable_posts, "CocaColaMx", "<Your Token>")
iex> Facebook.pageFeed(:feed, "CocaColaMx", "<Your Token>", 55, "id,name")

See: https://developers.facebook.com/docs/graph-api/reference/page/feed

pageLikes(page_id, access_token)

Specs

pageLikes(page_id :: integer | String.t, access_token) :: integer

Deprecated: Please use fanCount instead.

Get the count of fans for the provided page_id

Example

iex> Facebook.pageLikes("CocaColaMx", "<Your Token>")

See: https://developers.facebook.com/docs/graph-api/reference/page/

permissions(user_id, access_token)

Specs

permissions(user_id :: integer | String.t, access_token) :: response

Retrieves a list of granted permissions

Example

iex> Facebook.permissions("<Some Id>", "<Your Token>")

See: https://developers.facebook.com/docs/graph-api/reference/user/permissions

picture(user_id, type, access_token)

Specs

picture(user_id :: String.t, type :: String.t, access_token) :: response

A Picture for a Facebook User

Example

iex> Facebook.picture("<Some Id>", "small", "<Your Token>")

See: https://developers.facebook.com/docs/graph-api/reference/user/picture/

setAppsecret(appsecret)

If you want to use an appsecret proof, pass it into set_appsecret:

Example

iex> Facebook.setAppsecret("appsecret")

See: https://developers.facebook.com/docs/graph-api/securing-requests

start(type, args)

Start hook

start_link()

Supervisor start