3

Facebook のサーバー側認証 (https://developers.facebook.com/docs/authentication/server-side/) に関して、Facebook PHP SDK が最新かどうかを知りたいです。

FB が状態とコードを返すときに、access_token を取得するのに苦労しています。この機能をプログラムで追加するつもりですか? それとも、SDK は Facebook からの応答を処理するためのものですか?

例:

私はFBを渡します:

https://www.facebook.com/dialog/oauth?client_id=1234567890&redirect_uri=http%3A%2F%2Flocalhost%2F&state=ef8dba2dc8b4fa002973ffa5e29c67cb

Facebook は次のように返します。

http://localhost/?state=ef8dba2dc8b4fa002973ffa5e29c67cb&code=AQAhuVUqufbghj2bBLcCr5SdRJopdYaR-vAoZJzilvvDgiGYNuEPVKTRLqD9p9MPrPhIIubYPH0aka8RtBQU_vSGdkCI5DkQxhQpwWcADu1_jSQgOC9vBsF2oWardpcPcq4PzmNq-JYhdvEFyMD0K7vPY0WioUgLghhw28FJAhHis9K7dz6HyrNy0YXfjbK0AN0#_=_

ただし、SDK は上記の Facebook からの応答を処理しません。Facebook は、コードを返してトークンを取得してアクセスすることをお勧めします。

  1. ユーザー アクセス トークンのコードを交換する

ユーザーがアプリを承認したら、サーバー側のリクエストを作成して、上記で返されたコードをユーザー アクセス トークンと交換する必要があります。

https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID
&redirect_uri=YOUR_REDIRECT_URI
&client_secret=YOUR_APP_SECRET
&code=CODE_GENERATED_BY_FACEBOOK

SDK 自体はこれを行いませんか?

4

1 に答える 1

0

これを試して :

$user = $facebook->getUser();

$url = $facebook->getLoginUrl(array(

          'scope'         => 'email,publish_stream,publish_actions',

          'redirect_uri' => 'login.php', //give ur apropriate page

    ));


if($user){

    $acestokn = $facebook -> getaccesstoken();

}else{

    header('location:'.$url);
           exit;
}
于 2012-05-30T09:32:44.460 に答える