| Safe Haskell | None |
|---|
Yesod.Facebook
- 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.
Methods
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/.