javascript - facebook-api - 如何以尽可能少的调用和尽可能稳健的方式检索用户 friend 的所有事件?

标签 javascript facebook facebook-graph-api

在从 facebook 服务器获取数据方面,它 sounds like我应该尽可能少地调用 API。

我想做的是将登录用户的事件与他们每个 friend 的事件进行比较。如果我尝试一次请求我的所有事件以及我 friend 的所有事件,我会从 facebook 收到未知错误。一些搜索表明这是由于请求的大小。此外,当我搜索个别 friend 的事件时,我可以使用相同的权限 token 恢复他们的事件,这表明这不是权限问题。

此外,无论我是从 Graph API Explorer 还是从浏览器控制台进行调用,我都会收到错误消息,这表明这不是 js sdk 问题。

FWIW,这是我用来获取错误的调用

211600268?fields=id,events,friends.fields(events)

上面使用的id是我的facebook id :)

我已经阅读了有关使用分页的内容,我认为它可能会有所帮助。但是,我不确定应该分解成多少个请求。我应该采取这样的方法,尽可能大的调用(即允许 == facebook 不会抛出“未知”错误)还是这里有某种启发式/经验法则?

此外,一旦我了解了应该将主要请求分成多少个调用,我如何使用分页说“好的 facebook api,请给我 friend 事件的前半部分”然后“好的 facebook api,请给我 friend 的另一半事件?”

最佳答案

不幸的是,我得到的最佳答案是我自己的。我不打算在这里包含代码中的所有细节,因为它们很丑陋而且在我看来并不重要,但这是要点。似乎没有太多人对这个问题的答案感兴趣,所以我不会浪费时间充实它。但如果您需要更多详细信息,我会很乐意详细说明。

我使用 FB.login 来获得我需要的权限。

成功回调到FB.login FB.api('/me' ...) 获取用户的id

成功回调到FB.api('/me' ...) FB.api 调用获取用户的事件和好友列表

此 FB.api 调用的成功回调 我使用另一个 FB.api 调用来获取 friend 的事件详细信息( friend A)。然后我请求另一个 friend 的事件详细信息( friend B)作为对调用的成功回调以获取 friend A 的详细信息。然后我递归地继续这个直到所有的 friend 事件都被覆盖。

该方法在我口中留下了不好的味道,所有成功回调都相互更改,并且需要很长时间(大约 2 分钟)来进行分析。但这就是我的全部。

关于javascript - facebook-api - 如何以尽可能少的调用和尽可能稳健的方式检索用户 friend 的所有事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19886059/

相关文章:

javascript - 带有 sourcemaps 和 url 语句的 Webpack sass 加载器

javascript - 如何在 Bootstrap 模式对话框中嵌入外部 pdf?

iphone - Facebook:我怎样才能随时将照片贴到墙上

Java将系统的当前日期时间转换为纪元引用的秒数

facebook-graph-api - 如何使用 Meteor 执行常见的 FB 操作?

facebook-graph-api - Facebook Graph API 读取关注者计数

java - 使用 JavaScript 更改获取数据的 HTML 标签?

Facebook 通知系统 : Is it polling?

facebook - 检测Facebook用户是否喜欢未经应用程序授权的页面

javascript - 如果 ($ ('#selector' ).length == 0) 在 IE7 和 IE8 中不起作用