首页 文章

Facebook PHP SDK

提问于
浏览
3

我想知道Facebook PHP SDK是否与Facebook服务器端身份验证有关(https://developers.facebook.com/docs/authentication/server-side/)

当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建议您通过传回代码来获取和访问令牌 .

  • 交换用户访问令牌的代码

一旦用户授权您的应用程序,您应该发出服务器端请求以交换上面返回的用户访问令牌代码 .

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本身不会这样做吗?

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;
    }
    

相关问题