Skip to content

Repository files navigation

fb

Build Status

Haskell bindings to Facebook's API

Example code to get User Access token

{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
importFacebookimportNetwork.HTTP.ClientimportNetwork.HTTP.Client.TLSimportControl.Monad.Trans.ControlimportControl.Monad.Trans.ResourceimportControl.Monad.IO.ClassimportData.Monoid ((<>))
importData.ByteString.Char8 (pack)
importData.Texthiding (pack)
importData.AesonimportqualifiedData.Text.EncodingasTEmyCreds::Credentials
myCreds =Credentials
{ appName ="Your_APP_Name"
, appId ="your_app_id"
, appSecret ="xxxxxxxxxxxxxxxxx"
}
main::IO()
main =do
mgr <- newManager tlsManagerSettings
let redirectUrl ="https://www.yourdomain.com/"
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

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages