Facebook graph api Facebook PHP SDK v4中的Graph API v1.0

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

我有Facebook PHP SDK v4和Facebook JavaScript SDK。用户通过JS进行身份验证,我通过PHP使用他的访问令牌

我想调用Graph API v1.0,但当我尝试在FacebookRequest中指定版本时,我遇到了与调用APIv2相同的错误。我试图在JS块中指定版本,但这无助于解决我的问题,我仍然得到:

不允许使用全局ID。请使用 而不是特定于应用程序的ID

我怎样才能修好它?我知道API v1.0很快将不可用,但现在我正在寻找一个临时的快速解决方案

下面是Javascript初始化请求:

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的?它是硬编码的吗?现在-是的,我过去经常找到它