| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
Yesod.Facebook
Synopsis
- class Yesod site => YesodFacebook site where
- fbCredentials :: site -> Credentials
- fbHttpManager :: (MonadHandler m, HandlerSite m ~ site) => m 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, MonadFail m) => 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 where Source #
The YesodFacebook class for foundation datatypes that
support running FacebookT actions.
Minimal complete definition
Methods
fbCredentials :: site -> Credentials Source #
The credentials of your app.
fbHttpManager :: (MonadHandler m, HandlerSite m ~ site) => m Manager Source #
HTTP manager used for contacting Facebook (may be the same
as the one used for yesod-auth).
fbUseBetaTier :: site -> Bool Source #
Use Facebook's beta tier if True. The default is False.
runYesodFbT :: (MonadHandler m, HandlerSite m ~ site, YesodFacebook site) => FacebookT Auth m a -> m a Source #
Run a FacebookT action inside a GHandler using your
credentials.
runNoAuthYesodFbT :: (MonadHandler m, HandlerSite m ~ site, YesodFacebook site) => FacebookT NoAuth m a -> m a Source #
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 Credentials Source #
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, MonadFail m) => 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 RepPlain Source #
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/.