1

Graph Api を使用して Facebook グループ/ページ ウォール フィードを表示する joomla モジュールがあります。この Graph Api では、Facebook アプリケーションによって作成されたアクセス トークンを使用して呼び出しが行われます。この質問 -

質問リンク

ここ数日で、私のモジュールの1人のユーザーが次のエラーを受け取りました-

Error validating access token: Session has expired at unix time 1370094151. The current unix time is 1370376671.

そのユーザーに、Facebook アカウントのパスワードを変更したか、またはアクセス トークンを生成したアプリケーションから承認を削除したかを尋ねます。これらの理由でエラーが表示された場合は、2 か月が経過した可能性が高いです。 2か月で期限切れになったので、これが理由かもしれません。期限切れにならない永続的なトークンを生成する方法はありますか? トークンの有効期限に関する投稿をいくつか見つけましたが、結論を出すことができませんでした。どんな解決策でも大歓迎です...


  1. トークンの有効期限が切れたら、ユーザーをアクセス トークン生成ページにリダイレクトする必要があることを理解しています。
  2. また、有効な 60 日間のトークンは、ユーザーを javascript sdk ログイン フローに再度送信することで、さらに 60 日間延長できることも知っています。

問題は、サイト内の多くのユーザーが自分の joomla(php cms) モジュールを使用して、アクセス トークンを使用してグラフ API 呼び出しによって行われるウォール フィードを表示することです。 js sdk ログイン フローとサーバー側のトークン交換 (私の fb アプリケーションで開始された sdk) によって生成されます。

上記のように、あるユーザーのサイトにあるモジュールでアクセス トークンの期限切れエラーが突然表示され、ウェブサイトの訪問者にもウォール フィードの代わりにそのエラーが表示されるのでイライラします。そのアクセス トークンは、有効期限前または有効期限の時点で自動的に延長されます。

したがって、これらはすべて私のシナリオです。自動的に拡張する必要があります。ここにいる人は、コーディングの観点とすべての方法または代替案の方法を提案することで私を助けてくれます。

前もって感謝します

4

1 に答える 1

1

ユーザーがパスワードを変更しても、アプリには影響しません。これが OAuth の目的であり、ユーザーの資格情報とアプリの承認を完全に分離します。

FB トークンには有効期限があります。それらの「長寿命のトークン」でさえ。アクセス トークンを取得した直後、またはそれを使用する前に、アクセス トークンをいわゆる「長期トークン」に交換する必要があります。

これは何度でも行うことができますが、アクセス トークンの有効期限切れると、アクセスがまったくできなくなり、完全な OAuth フローをユーザーに再度送信する必要があります。

期限切れのアクセス トークンはまったく役に立ちません。これは FB の設計によるものです。

于 2013-06-05T05:21:00.033 に答える