2012-04-21 14 views
3

多くの例を見てきましたが、アクセストークンの期限切れについてよく知るための記事を読んでいます。この記事では、この記事でよく説明されています。Access Token Expiration期限切れのFacebookユーザーアクセストークンを通知する方法

期限切れアクセストークンを更新する方法を知っています。しかし、問題は、この記事で説明したように、アクセストークンの有効期限が4つある可能性があるということです。

したがって、アクセストークンが期限切れになることは確実ではなく、いつでも可能です。従来の解決方法はoffline_permisionを使用することです。これはすぐにFBによって廃止されます。ここで

は私が達成しようとしているものです:

  1. アクセストークンの有効期限が切れて、ユーザーが私たちのFacebookアプリを使用しているときながら、私はFBが私に通知したいたら。

  2. 通知を受け取ったら、アクセストークンを更新します。

私は次のことが実現したとは思っていません。したがって

FB.Event.subscribe('auth.authResponseChange', function(response) { 
    alert('The status of the session is: ' + response.status); 
}); 

、アクセストークンの有効期限が切れているときFBからの通知を持ってする方法はありますか?

答えて

2

期限切れのトークンを使用してAPIにアクセスしようとすると、Facebookはエラーメッセージを返します。 Facebookの応答を処理するコールバック関数でそのエラーをチェックし、エラーが存在する場合は、トークンを更新してAPI呼び出しをもう一度試してください。 Facebookのから

Facebookのは、以前に発行されたアクセストークンが無効になったことを通知しません。アプリケーションに渡された有効期限がアクセストークンとともに維持されていない限り、アプリケーションには、APIへの要求を試みるときに、特定のトークンが無効になっていることが多くあります。

+0

ええ、私はFacebookが応答を返すことを知っています。私はイベントベースの通知を好む、何らかの理由で期限が切れると、FB.eventを使って何かを購読して通知することになります。 しかし、Facebookが通知しないことを強調するのを手伝ってくれました。 hmnn ...さて、それを他の方法にしてください。少なくとも1日に有効期限を延長するのはどうですか?そのことについて何? – MrCooL

+1

ループ間隔を使用して独自の通知サービスを作成することもできますが、トークンが間隔をおいて期限切れになるとエラーを処理する必要があるため、実際には役に立たないようです。 トークンを拡張する場合、残念ながらそれは実際には不可能です。トークンを使用して有効期限を取得する(ほとんどの場合)ので、多分何かを行うことができます(期限切れになる直前にトークンをリフレッシュするイベントを設定します)。しかし、やはり早期に期限切れになる可能性があります。 FB.event.subscribeを通して登録できるイベントが発生するのはいいことに私は同意します – LocalPCGuy

関連する問題