Facebook ページからフィードを取得する必要がある、純粋にサーバー側のアプリケーションを作成しています。このページは「年齢制限(アルコール関連)」であるため、アクセス トークンなしでグラフ API にアクセスすることはできません。
アクセストークンが使用されている場合、完全に機能し、完全に読み取り可能な JSON フィードを返します。
https://graph.facebook.com/<page_id>/feed?access_token=<access_token>
問題は、アクセス トークンの有効期限が切れることです。幸いなことに、私は「関連のない」App_Id を持っており、ブラウザーでアクセスすることで簡単に新しいアクセス トークンを取得できます。
https://www.facebook.com/dialog/oauth?client_id=<my_app_id>&redirect_uri=http://localhost:8080&scope=manage_pages&response_type=token
(ブラウザーで) この URL に初めてアクセスすると、「アプリ」が「マイページ」に投稿することを許可するように求められますが、もちろん許可します。それは二度と私に尋ねることはありません。これで、すばらしいアクセス トークンが含まれる新しい URL にリダイレクトされます。
http://localhost:8080/#access_token=<awesome-access-token>&expires_in=4482
通常、この値はクエリ文字列パラメーターから読み取ることができますが、サーバー側のコードでは読み取ることができないページ フレーム (#) URL であることに気付きました。
また、最初の URL リダイレクトをインターセプトして 302 LOCATION ヘッダーを読み取ろうとしましたが、残念ながら、リダイレクト チェーンのようです。
この問題を解決するにはどうすればよいですか?