2014-07-22 53 views
0

我正在Android上开发一个Facebook应用程序,获取用户朋友的一些状态更新,然后根据状态中的关键字对它们进行分类。但是,我很难试图找出如何获取用户朋友的状态更新列表。在Android Facebook SDK中获取朋友的状态更新

到目前为止,我有从图形API获取用户朋友的代码,但我不认为包含朋友的状态。下面是我写的代码:

在这段代码中,categorizeFriend方法会得到朋友的状态更新,并把它们在全球的ArrayList这取决于他们得到归类为。但是,它看起来像GraphUser没有任何状态信息 - 它只是返回每个朋友的一般信息。

所以,我有两个部分,以这样一个问题:

1)是否有办法击中二鸟一石和一个请求做到这一点,而不必做categorizeFriend另一个请求的?

2)请求看起来像获取用户朋友的状态?我已经看到可以为请求设置参数然后执行它,但是如何在执行该请求后收集用户的状态?

谢谢你帮助我 - 我一直在寻找所有,一直没有找到一个很好的答案。

回答

1

鉴于您知道friends_*权限将于2015年4月30日消失(因此您现在不能再像现在这样使用Graph API),您可以使用Field Expansion按要求获取所有朋友的状态:

GET /me?fields=friends.fields(statuses.limit(5)) 

这将返回用户(与该查询一起使用的访问令牌)朋友的最后5个状态更新。

我强烈建议您限制状态的字段,否则很可能查询需要太多的执行时间,并且Facbook将取消查询(它将返回“请求失败”)。

参考文献:

-1

您需要为每个朋友的订阅源创建请求,但是您可以使用RequestBatch执行它们。

https://developers.facebook.com/docs/reference/android/current/class/RequestBatch/

这发出的所有请求,并收集在一个单一的行程Facebook服务器的结果。此页面有重要信息限制。批次中的每个请求都会计入API使用限制,而不是批量计数。它还表示批量限制是一批中的50个请求。

https://developers.facebook.com/docs/graph-api/making-multiple-requests

抱歉地说,我不会对你有任何示例代码,但此页:

https://developers.facebook.com/docs/android/graph

我不能直接连你的代码,但第一个列表指出“使用批量请求来提高您的应用效率”。只需按照链接进入代码即可。希望这可以帮助。

+0

你不需要为批处理API ... – Tobi