0

最近我将旧的 v1.0 Facebook web 应用程序更新为 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);
    });
}

4

1 回答 1

0

已经使用 v1.0 授权您的应用程序的用户将保留相同的 ID。否则就不可能匹配现有用户。

如果您仍然使用之前从未授权过该 App 的另一个帐户获得全局 ID,则您的 App 很可能没有更新到 v2.0。

于 2015-01-30T08:47:01.363 回答