OK私はついにそれを行う方法を見つけたと思います。アプリケーションアクセスコードではなく、ページアクセスコードが必要でした。トークンは、アプリケーションの外部で長寿命として生成する必要があります。
https://www.facebook.com/dialog/oauth?client_id={app_id}&redirect_uri={my_url}&scope=manage_pages,publish_stream
app_idはアプリケーションIDですmy_urlはアプリケーションのURLスコープは付与する権限です
リダイレクトされたURLには、コードパラメータがあります。それをコピーします。
- 以下を使用してユーザーアクセスコードを生成します。
https://graph.facebook.com/oauth/access_token?client_id={app_id}&redirect_uri={my_url}&client_secret={app_secret}&code={code}
app_secretは、アプリケーションのシークレットキーコードです。ステップ1のコードです。
出力としてユーザーアクセストークンを取得します。これは短命です。
- 以下を使用して、ショートライブをロングライブのユーザーアクセストークンに変換します。
https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id={app_id}&client_secret={app_secret}&fb_exchange_token={short live access token}
「ショートライブアクセストークン」を手順2で取得したものに置き換えます。出力として無限のユーザーアクセストークンを取得します。
- ページアクセストークンを取得します(ユーザーアクセストークンも無限アクセストークンになっているため、これは無限アクセストークンになります):
https://graph.facebook.com/me/accounts?access_token={infinite user access token}
「無限ユーザーアクセストークン」を手順3で取得した値に置き換えます。
このコマンドは、管理するすべてのページを一覧表示します。出力には、フィールド「access_token」に必要なページアクセストークンが含まれています。このトークンは、アプリケーションの任意のAPIコマンドで使用できます。
アプリケーションの秘密鍵は「秘密」のままである必要があるため、サーバー側のプログラム(私にとってはPHP)を介してこれらすべての手順を実行するのが最善です。