web-dev-qa-db-ja.com

Facebookからアプリアクセストークンを取得するにはどうすればよいですかPHP SDK?

通知を投稿するためにアプリのアプリアクセストークンを取得しようとしていますが、何らかの理由で機能しません。これがコードです:

$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#とそれが動作します。

16
Boehmi

実際にアプリケーションアクセストークンを要求する必要はありません。自分で組み立てることができます。

アプリケーションアクセストークンの形式は次のとおりです。

app_id|app_secret

これがアプリケーションのIDで、パイプ文字|およびアプリケーションシークレット。

ユーザーがこのアプリトークンにアクセスできないことを確認してください。サーバーサイドでのみ使用および参照してください。これをクライアントに渡さないでください。詳細については、関連する ドキュメント の最後の数文を確認してください。

36
Lix

SDKのバージョン5では、 FacebookApp インスタンスのaccessToken()メソッドを使用してアクセストークンを取得できます。 Facebook インスタンスがある場合(通常どおり)、次のように取得できます。

$fb->getApp()->getAccessToken()

自分のアプリのアクセストークンを使用したいときは、このようにAPIをインスタンス化しています。よりクリーンな方法があるかどうかはわかりません。

$fb = new \Facebook\Facebook([
    'default_graph_version' => 'v2.8',
]);
$fb->setDefaultAccessToken($fb->getApp()->getAccessToken());
8
tremby

交換-

'&client_secret' => 'client_secret'

'&grant_type' => 'grant_type'
1
Sahil Mittal