0

そのため、私はこれに数日間取り組んでおり、これに関する無限の質問と投稿を検索しましたが、まだ解決策を見つけていません. ウェブサイトの Facebook アプリの 60 日間アクセス トークンを取得しようとしています。offline_access 権限の削除を有効にしました。サーバー側では、これを達成するために fb_graph gem を使用していますが、HTTParty を使用して、URL をブラウザーに貼り付けようとしました。私のコードは以下です。

現在、私のコードはエラーを返しませんが、交換は常に、有効期限が 1 時間以内のトークンを返すだけです。奇妙なことは、ローカルで一度自分で動作させ、ローカルアプリで60日間のトークンを持っていることです。ただし、これを他のユーザーやライブ Web サイトで複製することはできません。もう 1 つの奇妙な点は、アプリにサインアップした新しいユーザーが 60 日間のトークンを取得することですが、既存のユーザーに対して何度試行しても、ライブ サイトに表示される 60 日間のトークンを取得できません。これは Facebook 側のバグでしょうか? 私はしばらくの間それに取り組んできました、そして私は本当にいくつかの助けを借りることができました!

これが私のfb_graphコードです

fb_auth = FbGraph::Auth.new("my_api_key" , "my_api_secret")
fb_auth.exchange_token! my_old_token
fb_auth.access_token #Return long term (60 days) token

*** LOCAL GEMS ***

fb_graph (2.4.19)
Author: nov matake
Homepage: http://github.com/nov/fb_graph
Installed at: /Users/amritk/.rvm/gems/ruby-1.8.7-p370
A full-stack Facebook Graph API wrapper in Ruby.

このメソッドを HTTParty でも使用し、ブラウザに貼り付けました

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 

はい、 https://developers.facebook.com/roadmap/offline-access-removal/を読みました

4

1 に答える 1

2

これは既知のバグです。

有効期間の短いアクセス トークンを返す有効期間の長いアクセス トークン エンド ポイント

于 2012-08-26T07:50:52.230 に答える