facebook api - 失去我的范围

时间:2017-01-13 17:15:10

标签: javascript facebook facebook-graph-api facebook-javascript-sdk

我正在使用facebook API开发应用程序。 我尝试的很简单 - 得到一个帖子,然后得到这篇帖子的喜欢数量。

然后我想结合帖子故事和喜欢的数量。 后来我想用循环来做 - 迭代一系列帖子。

我的问题解释在代码中:

$(function () {
    $("#mybutton").click(function () {
        FB.api("/me/posts", function (response) {
            /* first callback
             *
             * i have access to global scope here.
             */

            var firstpost = response.data[0];

            FB.api("/" + firstpost.id + "/likes", function (response) {
                /* second callback inside the first callback
                 *
                 * here i lost my access to the first callback scope.
                 * my access is only to local and global scope. 
                 * i can't see anymore what is inside firstpost variable;
                 */
                console.log(firstpost);
                //this will give a reference error
            })
        })
    })
});

或许还有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

您可以为响应参数使用不同的名称,但只需使用一个API调用就可以有更好的方法:

/me/posts?fields=message,likes

...或使用JS SDK:

FB.api('/me/posts', {fields: 'message,likes'}, function (response) { ... }