0

Javaサーブレットアプリが1時間または2時間ごとに再認証することなく、ユーザーのメッセージなどを監視および取得できるように、長寿命のFacebookアクセストークンを取得しようとしています。

サーバー側の oauth フローを使用しており、すべてが完全に機能していますが、1 日以上有効なトークンを取得できません。

最初のユーザー認証呼び出しは次のとおりです。

https://www.facebook.com/dialog/oauth?client_id=-----&client_secret=-----&scope=read_mailbox,manage_pages&force=true&state=-----&redirect_uri=http%3A%2F%2F127.0.0.1%3A7101%2FeStarGlobal-eStarGlobal-context-root%2FOAuthCallback%3BJSESSIONID%3DvS9lP9JcF3B86zD99KVNGXzn2snKRl4V48lkJQD51cvXhpnLsT06%21-281618363%211342018780176%3FAuthSource%3D1%26AuthType%3D1%26EmployeeId%3D97

ユーザーがアプリを承認すると、コールバック URL でコードを受け取り、アクセス トークンを呼び出します。

https://graph.facebook.com/oauth/access_token?client_id=-----&client_secret=-----&code=---code from above---&redirect_uri=http%3A%2F%2F127.0.0.1%3A7101%2FeStarGlobal-eStarGlobal-context-root%2FOAuthCallback%3BJSESSIONID%3DvS9lP9JcF3B86zD99KVNGXzn2snKRl4V48lkJQD51cvXhpnLsT06%21-281618363%211342018780176%3FAuthSource%3D1%26AuthType%3D1%26EmployeeId%3D97

約 6800 秒間有効な有効なトークンを受け取り、それを長寿命のトークンと交換しようとします。

https://graph.facebook.com/oauth/access_token?client_id=-----&client_secret=-----&grant_type=fb_exchange_token&fb_exchange_token=---token from above---

わずかに短い有効期限秒で同じトークンを取得します。

有効にしました: Facebook アプリ ページで offline_access 権限を削除します。セキュリティ強化ダイアログの設定がありません。

アプリの種類を Web からネイティブ/デスクトップに変更すると、有効期限が約 89000 秒または 1 日まで延長されます。

どんなアイデアでも大歓迎です!

4

1 に答える 1

1

「強化されたセキュリティ ダイアログの設定がありません」とあなたは言います。

それが拡張ダイアログを使用していないことを意味する場合は、長期間有効なトークンを取得する必要があります。

拡張バージョンと古いバージョンを切り替えるオプションがないことを意味する場合は、おそらく関係ありません。新しいバージョンを使用する必要があります。

于 2012-07-11T16:25:36.193 に答える