php - Facebook PHP SDK

标签 php facebook authentication sdk

我想知道 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 建议您通过传回代码来获取和访问 token 。

  1. 交换用户访问 token 的代码

一旦用户授权您的应用,您应该发出服务器端请求,以将上面返回的代码换成用户访问 token 。

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 不自己做吗?

最佳答案

试试这个:

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

关于php - Facebook PHP SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10813166/

相关文章:

php - Facebook 登录 PHP : URL Blocked: This redirect failed because the redirect URI is not whitelisted in the app’s Client OAuth Settings

facebook - 使用 oAuth 重新请求 Facebook 权限不起作用

javascript - IE 中 Facebook javascript 登录错误

ios - 在 iOS 应用程序公开发布之前提交 Facebook 应用程序以供审核?

php - .php 文件在 Chrome 中显示代码

linux - agetty.c 中的特殊字符

php - 单连接多个 MySQL 数据库

php - 我可以安全地使用 MySQL-5.1 客户端库连接到 MySQL-5.0 服务器吗?

php - 使用 PHP ("a-z"、 "0-9"和 "-"验证文件名)

javascript - 如何让 Facebook Messenger 机器人向您发送嵌入在 Messenger 中的 YouTube 视频