javascript - Facebook javascript登录到PHP SDK

标签 javascript php facebook facebook-graph-api

我正在使用 FB facebook-php-sdk-v4-5.0-dev.zip API 文件。

我正在尝试让 Facebook javascript 和 php SDK 协同工作。我有 FB.login 工作查找,我可以发出图形请求等。现在我想将访问 token 传递给我的 PHP 代码,然后从那里继续。我正在用 javascript 初始化 FB:

window.fbAsyncInit = function() {
    FB.init({
        appId      : appId, //my appId
        cookie     : true,  // enable cookies for session access
        xfbml      : true,  // parse social plugins on this page
        version    : 'v2.2' // use version 2.2
    });

现在 FB 已经初始化,我使用 API 做一些其他的工作,然后我推送到我的 php 代码:

window.location.replace(<my url>.php);

在我的 PHP 应用程序中,我有以下内容:

$fb = new Facebook\Facebook([ 'app_id' => <my app_id>,
                              'app_secret' => <my app_secret>
                              'default_graph_version' => 'v2.2',
                            ]);

$jsHelper = $fb->getJavaScriptHelper();
try 
{
    $accessToken = $jsHelper->getAccessToken();
} 
catch(Facebook\Exceptions\FacebookResponseException $e) 
{
    // When Graph returns an error
    print('Graph returned an error: ' . $e->getMessage() );
    exit;
}
catch(Facebook\Exceptions\FacebookSDKException $e) 
{
    // When validation fails or other local issues
    print( 'Facebook SDK returned an error: ' . $e->getMessage() );
    exit;
}

if (isset($accessToken)) 
{
    print("Logged in already");
}
else
{
    print("Not logged in");
}

我看到的是“未登录”。据我所知,没有生成 cookie(我在 PHP 文件的顶部转储了 $_COOKIE)。我还监控了网络调用,并且在我的 oauth 请求中看不到来自 Facebook 的任何 cookie……我认为这样的 cookie 会来自这里。

谢谢, 安迪

最佳答案

初始化javascript对象时需要将cookie设置为true。否则 FB Javascript Api 将不会存储 cookie。

FB.init({
    appId   : '{app-id}',
    cookie  : true,
    version : 'v2.5'
});

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

相关文章:

javascript - 在javascript中使用正则表达式提取单词

php - openssl_pkey_export 和 "cannot get key from parameter 1"

android - 如何在 Facebook 中添加我的 Android 应用程序

javascript - 使用 Javascript 重启 CSS3 动画

javascript - Mootools Form.Validator 复选框

php - 将数据解析为从 000webhost.com 返回的 JSON 对象时出错

php - MIGS 主卡网关服务付款显示 HTTP 状态 - 400?

Facebook 直播视频只能在流式传输我的 Mac 屏幕时预览

mysql - SQL - 从表中获取最新事件

javascript - 悬停时自动播放视频的图像缩略图