8

私は、Facebook アプリケーション情報をある時点で更新するアプリケーションを持っています。たとえば、1 日に 1 回、データベースに書き込みます。アプリケーションが情報を取得しようとするページの一部は年齢制限があり、状況は複雑になります。

これまでのところ、これを行う 1 つの方法は、ユーザー access_token を使用してページの情報を取得することであることがわかりました。

例: https://graph.facebook.com/BrandCigarettes?access_token= {user_access_token}

しかし、アプリケーションは 1 日に 1 回実行する必要があり、トークンには時間制限があり (既定では 2 時間)、オフライン アクセス トークンは使用できないため、これは不可能です。

これを行う方法はありますか?

4

1 に答える 1

1

通常のトークンは通常 2 時間後に期限切れになりますが、その短いライブ トークンを使用して、新しい長いライブ トークンを要求できます。このトークンの有効期間は 60 日間です。

それを取得したら、user_id とそれぞれの拡張トークンをデータベースに保存するだけでよいため、いくつかのページの情報を取得したい場合は、アプリのすべてのユーザーに対してそれを行う必要はありません。自分で行うには、トークンを更新するためだけに 59 日ごとにアクセスするプライベート エリアをアプリに作成できます。

有効期間の短いアクセス トークンを長いアクセス トークンに交換するには、グラフ API にリクエストを行うだけです。

https://graph.facebook.com/oauth/access_token?             
    client_id=APP_ID&
    client_secret=APP_SECRET&
    grant_type=fb_exchange_token&
    fb_exchange_token=EXISTING_ACCESS_TOKEN 

この質問で、受け入れられた回答は、C# facebook sdk を使用せずにそれを行う方法を説明しています

フィードのオフライン アクセス

CBroe がコメントしたように、拡張トークンに関する Facebook のドキュメントを読むこともお勧めします。

https://developers.facebook.com/roadmap/offline-access-removal/

于 2013-04-11T14:07:26.660 に答える