1

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

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

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

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

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

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

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

另外,一旦我了解了主要请求应该分解多少次调用,我如何使用分页来说“好的 facebook api,请给我朋友的前半部分活动”,然后“好的 facebook api,请给我我朋友的另一半事件?”

4

2 回答 2

1

据我了解,fb 权限最近发生了变化,您所能获得的只是正在使用您的应用程序的用户朋友列表。(意味着所有未使用您的应用程序的用户朋友都丢失了): https ://developers.facebook.com/docs/apps/changelog/ 这会影响您的代码吗?我在做一个类似的项目,很想合作或寻求建议。请随时联系我 :)

于 2014-06-22T12:07:19.827 回答
1

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

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

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

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

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

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

于 2013-11-19T07:10:02.220 回答