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']));