Safe Haskell | None |
---|
- class Yesod site => YesodFacebook site where
- fbCredentials :: site -> Credentials
- fbHttpManager :: site -> Manager
- fbUseBetaTier :: site -> Bool
- runYesodFbT :: (MonadHandler m, HandlerSite m ~ site, YesodFacebook site) => FacebookT Auth m a -> m a
- runNoAuthYesodFbT :: (MonadHandler m, HandlerSite m ~ site, YesodFacebook site) => FacebookT NoAuth m a -> m a
- getFbCredentials :: (MonadHandler m, HandlerSite m ~ site, YesodFacebook site) => m Credentials
- parseRealTimeUpdateNotifications :: (MonadHandler m, HandlerSite m ~ site, YesodFacebook site, FromJSON a) => m (RealTimeUpdateNotification a)
- answerRealTimeUpdateChallenge :: MonadHandler m => RealTimeUpdateToken -> m RepPlain
- lookupRequestIds :: MonadHandler m => m (Maybe [Id])
Running FacebookT
actions inside HandlerT
class Yesod site => YesodFacebook site whereSource
The YesodFacebook
class for foundation datatypes that
support running FacebookT
actions.
fbCredentials :: site -> CredentialsSource
The credentials of your app.
fbHttpManager :: site -> ManagerSource
HTTP manager used for contacting Facebook (may be the same
as the one used for yesod-auth
).
fbUseBetaTier :: site -> BoolSource
Use Facebook's beta tier if True
. The default is False
.
runYesodFbT :: (MonadHandler m, HandlerSite m ~ site, YesodFacebook site) => FacebookT Auth m a -> m aSource
Run a FacebookT
action inside a GHandler
using your
credentials.
runNoAuthYesodFbT :: (MonadHandler m, HandlerSite m ~ site, YesodFacebook site) => FacebookT NoAuth m a -> m aSource
Run a FacebookT
action inside a GHandler
without using
your credentials. Usually you won't need to use this function
but it's provided for completeness' sake.
getFbCredentials :: (MonadHandler m, HandlerSite m ~ site, YesodFacebook site) => m CredentialsSource
Returns Facebook's Credentials
from inside a
HandlerT
. Just a convenience wrapper around
fbCredentials
.
Real-time update notifications
parseRealTimeUpdateNotifications :: (MonadHandler m, HandlerSite m ~ site, YesodFacebook site, FromJSON a) => m (RealTimeUpdateNotification a)Source
Same as getRealTimeUpdateNotifications
but does the
heavy-lifting for you. Throws an exception whenever any step
fails (signature header not found, invalid signature, invalid
JSON).
answerRealTimeUpdateChallenge :: MonadHandler m => RealTimeUpdateToken -> m RepPlainSource
Answer Facebook's challenge if the RealTimeUpdateToken
matches.
Whenever you modify your subscriptions, Facebook will try to
contact your server with the RealTimeUpdateToken
that you
gave on your call to modifySubscription
. This function
will correctly answer Facebook's challenge if the
RealTimeUpdateToken
matches, otherwise it will return
notFound
.
Requests
lookupRequestIds :: MonadHandler m => m (Maybe [Id])Source
Lookup and parse the request_ids
GET parameter
http://developers.facebook.com/docs/requests/.