通知を投稿するためにアプリのアプリアクセストークンを取得しようとしていますが、何らかの理由で機能しません。これがコードです:
$AppParams = array(
'client_id' => 'myclientid',
'&client_secret' => 'myclientsecret',
'&grant_type' =>'client_credentials'
);
$AppToken = $facebook->api('oauth/access_token?', 'GET', $AppParams);
また、最初の部分を完全なoauth/accesstokenリンクに置き換えましたが、oauthおよびそれらのFacebookページに関する一般的な情報が返されますが、これは必要ありません。ほぼ同じことを行いました。 C#とそれが動作します。
実際にアプリケーションアクセストークンを要求する必要はありません。自分で組み立てることができます。
アプリケーションアクセストークンの形式は次のとおりです。
app_id|app_secret
これがアプリケーションのIDで、パイプ文字|
およびアプリケーションシークレット。
ユーザーがこのアプリトークンにアクセスできないことを確認してください。サーバーサイドでのみ使用および参照してください。これをクライアントに渡さないでください。詳細については、関連する ドキュメント の最後の数文を確認してください。
SDKのバージョン5では、 FacebookApp
インスタンスのaccessToken()
メソッドを使用してアクセストークンを取得できます。 Facebook
インスタンスがある場合(通常どおり)、次のように取得できます。
$fb->getApp()->getAccessToken()
自分のアプリのアクセストークンを使用したいときは、このようにAPIをインスタンス化しています。よりクリーンな方法があるかどうかはわかりません。
$fb = new \Facebook\Facebook([
'default_graph_version' => 'v2.8',
]);
$fb->setDefaultAccessToken($fb->getApp()->getAccessToken());
交換-
'&client_secret' => 'client_secret'
'&grant_type' => 'grant_type'