Facebook Javascript API-遇到问题';连接';

Facebook Javascript API-遇到问题';连接';,javascript,api,facebook,Javascript,Api,Facebook,以下是我一直在测试的代码: <?php $accessToken = file_get_contents('https://graph.facebook.com/oauth/access_token?client_id=APP_ID&client_secret=APP_SECRET&grant_type=client_credentials'); $accessToken = explode('=', $accessToken); $accessToken = $acces

以下是我一直在测试的代码:

<?php
$accessToken = file_get_contents('https://graph.facebook.com/oauth/access_token?client_id=APP_ID&client_secret=APP_SECRET&grant_type=client_credentials');
$accessToken = explode('=', $accessToken);
$accessToken = $accessToken[1];
?>
<div id="fb-root"></div>

<script>
window.fbAsyncInit = function()
{
    FB.init({
        appId:  'APP_ID',
        status: true,
        cookie: true,
        xfbml:  true
    });

    FB.api('/me?access_token=<?php echo $accessToken; ?>', function(user)
    {
        if (user != null)
        {
            console.log(user);
        }
    });
};

(function()
{
    var e   = document.createElement('script');
    e.type  = 'text/javascript';
    e.src   = document.location.protocol + '//connect.facebook.net/en_GB/all.js';
    e.async = true;

    document.getElementById('fb-root').appendChild(e);
}());
</script>
我向Facebook注册了我的网站URL以获取我的ID/Secret,并在注册时指定的目录中运行上述脚本


我做错了什么?

我认为您正在使用旧的rest api获取访问令牌,为什么不使用graph api获取访问令牌

define('FACEBOOK_APP_ID', 'Your API ID'); define('FACEBOOK_SECRET', 'YOUR SECRET'); function get_facebook_cookie($app_id, $application_secret) { $args = array(); parse_str(trim($_COOKIE['fbs_' . $app_id], '\\"'), $args); ksort($args); $payload = ''; foreach ($args as $key => $value) { if ($key != 'sig') { $payload .= $key . '=' . $value; } } if (md5($payload . $application_secret) != $args['sig']) { return null; } return $args; } $cookie = get_facebook_cookie(FACEBOOK_APP_ID, FACEBOOK_SECRET); $name=json_decode(file_get_contents('https://graph.facebook.com/me?access_token='.$cookie['access_token'])); 定义(“FACEBOOK应用程序ID”、“您的API ID”); 定义(“FACEBOOK_秘密”、“你的秘密”); 函数get\u facebook\u cookie($app\u id,$application\u secret) { $args=array(); 解析\u str(trim($\u COOKIE['fbs'.$app\u id],'\\'),$args); ksort($args); $payload=''; foreach($args作为$key=>$value) { 如果($key!=“sig”) { $payload.=$key.'='.$value; } } 如果(md5($payload.$application\u secret)!=$args['sig']) { 返回null; } 返回$args; } $cookie=get\u facebook\u cookie(facebook\u APP\u ID,facebook\u SECRET); $name=json\u解码(文件\u获取\u内容('https://graph.facebook.com/me?access_token='.$cookie['access_token']);
我认为这很简单

你在这里混为一谈,试图用
应用访问令牌访问用户信息


阅读
用户登录
部分。另外,我将强烈推荐使用,图书馆将负责所有身份验证和授权交换过程。

其次,Facebook PHP更好! define('FACEBOOK_APP_ID', 'Your API ID'); define('FACEBOOK_SECRET', 'YOUR SECRET'); function get_facebook_cookie($app_id, $application_secret) { $args = array(); parse_str(trim($_COOKIE['fbs_' . $app_id], '\\"'), $args); ksort($args); $payload = ''; foreach ($args as $key => $value) { if ($key != 'sig') { $payload .= $key . '=' . $value; } } if (md5($payload . $application_secret) != $args['sig']) { return null; } return $args; } $cookie = get_facebook_cookie(FACEBOOK_APP_ID, FACEBOOK_SECRET); $name=json_decode(file_get_contents('https://graph.facebook.com/me?access_token='.$cookie['access_token']));