无法使用Facebook api 2.0获取新的应用范围用户ID

时间:2015-01-30 05:28:11

标签: facebook facebook-graph-api facebook-javascript-sdk facebook-graph-api-v2.0 facebook-graph-api-v2.2

最近我将旧的v1.0 Facebook网络应用更新为api v2.0, 我根据Facebook的升级指南更改了SDK调用,然后我创建了一个新的Facebook帐户来登录我的应用程序,当我打电话给我/它仍然返回全局用户ID而不是新的应用程序范围ID。

我做错了什么? 我也在iPhone sdk上尝试过,它确实返回了新的应用程序作用域ID。

非常感谢。

以下是我打电话给api的方法:

<script>

function statusChangeCallback(response) {
    console.log('statusChangeCallback');
    console.log(response);
    if (response.status === 'connected') {
        // Logged into your app and Facebook.
        testAPI();
    } else if (response.status === 'not_authorized') {
        document.getElementById('status').innerHTML = 'Please log ' +
    'into this app.';
    } else {

        document.getElementById('status').innerHTML = 'Please log ' +
    'into Facebook.';
    }
}

function checkLoginState() {
    FB.getLoginStatus(function (response) {
        statusChangeCallback(response);
    });
}

window.fbAsyncInit = function () {
    FB.init({
        appId: 'MY_APPID',
        cookie: true,  // enable cookies to allow the server to access 
        // the session
        xfbml: true,  // parse social plugins on this page
        version: 'v2.0' // use version 2.0
    });

    FB.getLoginStatus(function (response) {
        statusChangeCallback(response);
    });

};

(function (d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return;
    js = d.createElement(s); js.id = id;
    js.src = "//connect.facebook.net/en_US/sdk.js";
    fjs.parentNode.insertBefore(js, fjs);
} (document, 'script', 'facebook-jssdk'));

function testAPI() {
    FB.api('v2.0/me', function (response) {
        log(response);
    });
}

1 个答案:

答案 0 :(得分:0)

已经使用v1.0授权您的应用的用户将保留相同的ID。否则,就无法匹配现有用户。

如果您仍然使用之前未授权该应用的其他帐户获取全局ID,则您的应用很可能不会更新为v2.0。