Facebook graph api Facebook PHP SDK v4中的Graph API v1.0
我有Facebook PHP SDK v4和Facebook JavaScript SDK。用户通过JS进行身份验证,我通过PHP使用他的访问令牌 我想调用Graph API v1.0,但当我尝试在FacebookRequest中指定版本时,我遇到了与调用APIv2相同的错误。我试图在JS块中指定版本,但这无助于解决我的问题,我仍然得到: 不允许使用全局ID。请使用 而不是特定于应用程序的ID 我怎样才能修好它?我知道API v1.0很快将不可用,但现在我正在寻找一个临时的快速解决方案 下面是Javascript初始化请求:Facebook graph api Facebook PHP SDK v4中的Graph API v1.0,facebook-graph-api,facebook-javascript-sdk,facebook-php-sdk,Facebook Graph Api,Facebook Javascript Sdk,Facebook Php Sdk,我有Facebook PHP SDK v4和Facebook JavaScript SDK。用户通过JS进行身份验证,我通过PHP使用他的访问令牌 我想调用Graph API v1.0,但当我尝试在FacebookRequest中指定版本时,我遇到了与调用APIv2相同的错误。我试图在JS块中指定版本,但这无助于解决我的问题,我仍然得到: 不允许使用全局ID。请使用 而不是特定于应用程序的ID 我怎样才能修好它?我知道API v1.0很快将不可用,但现在我正在寻找一个临时的快速解决方案 下面是J
FB.init({
appId : document.getElementById("facebook_appid").value,
cookie : true, // enable cookies to allow the server use the cookies
xfbml : true, // parse social plugins on this page
version : 'v1.0' // use version 1.0
});
FB.getLoginStatus(function(response) {
statusChangeCallback(response); //show login status
});
这是带有请求的PHP块:
/**
*使用长寿命访问令牌
**/
FacebookSession::setDefaultApplication$appid$secret;
如果$extended\u user\u access\u令牌为空{
$session=new facebook会话$user\u access\u令牌;
$session=$session->getLongLivedSession;
$extended\u user\u access\u token=$session->getToken;
}否则{
$session=new facebook会话$extended_user_access_令牌;
}
/**
*验证facebook会话
**/
试一试{
$session->validate;
}捕获FacebookRequestException$ex{
echo$ex->getMessage;
}catch\Exception$ex{
echo$ex->getMessage;
}
/**
*按全局id呼叫用户
**/
如果$session{
试一试{
$request=新facebook请求
$session,
“得到”,
'/',
无效的
“v1.0”
;
$response=$request->execute;
$graphObject=$response->getGraphObject;
}捕获异常$ex{
回显异常代码:.$ex->getCode;
echo,带有消息:.$ex->getMessage;
}
}
无论您是否在通话中添加v1.0标签,如果该应用程序是在2014年4月底之后创建的,它将无法使用v1.0,您将只能使用应用程序范围的ID
这就是全局ID不起作用的原因,请使用FB.login对用户进行授权,并使用获得的应用程序范围ID进行呼叫。您实际上是如何获得用户ID的?它是硬编码的吗?现在-是的,我过去经常找到它