javascript - facebook api - 失去我的范围

标签 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
            })
        })
    })
});

也许有更好的方法?

最佳答案

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

/me/posts?fields=message,likes

...或使用 JS SDK:

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

关于javascript - facebook api - 失去我的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41640004/

相关文章:

javascript - Facebook Graph API - 2.0 版中的标记地点

html - 将视频播放器html5 iframe嵌入到YouTube之类的Facebook共享中

javascript - 重新加载页面后如何获取最后一个索引

javascript - 将三个数组合二为一

javascript - JQueryUI 工具提示设置被忽略

facebook - Windows Phone 中其他应用程序使用的推送通知机制

javascript - 在javascript中的闭包之间使用变量是线程安全的吗?

ios - 如何检查 Google/Facebook 帐户是否已用于在 Firebase Auth 上创建帐户

ios - FBSDKShareKit 视频保存在应用程序中

android - 在 Android 中使用 'Requests Dialog' 向 Facebook 中的所有好友发送 App 请求