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%3D
97
ユーザーがアプリを承認すると、コールバック 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 日まで延長されます。
どんなアイデアでも大歓迎です!