BSD3 licensed by Felipe Lessa, Sibi
Maintained by Sibi

Module documentation for 1.0.9

There are no documented modules for this package.


Build Status

Haskell bindings to Facebook's API

Example code to get User Access token

{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}

import Facebook
import Network.HTTP.Client
import Network.HTTP.Client.TLS
import Control.Monad.Trans.Control
import Control.Monad.Trans.Resource
import Control.Monad.IO.Class
import Data.Monoid ((<>))
import Data.ByteString.Char8 (pack)
import Data.Text hiding (pack)
import Data.Aeson
import qualified Data.Text.Encoding as TE

myCreds :: Credentials
myCreds =
  { appName = "Your_APP_Name"
  , appId = "your_app_id"
  , appSecret = "xxxxxxxxxxxxxxxxx"

main :: IO ()
main = do
  mgr <- newManager tlsManagerSettings
  let redirectUrl = ""
  runResourceT $
    runFacebookT myCreds mgr $
    do url1 <- getUserAccessTokenStep1 redirectUrl ["public_profile", "email"]
       liftIO $ print ("Paste the url in browser and get code: " <> url1)
       code <- liftIO $ getLine
       token <- getUserAccessTokenStep2 redirectUrl [("code", pack code)]
       liftIO $ print token

Snippet to get your Profile Picture:

       (picture :: Value) <-
         getObject "/me/picture" [("redirect", "0")] (Just token)
       liftIO $ print picture

Snippet to get your firstname, lastname:

       user <- getUser "me" [("fields", "first_name,last_name")] (Just token)
       liftIO $ print user



  • Make versioned call. By default now it uses `v2.8.
  • disassociateTestuser function added.
  • getPage_ function added which accepts AppAccessToken as opposed to getPage function.
  • Fixed a bug in getObjectBool
  • Travis CI added
comments powered byDisqus