我正在尝试使用图表API从我的Facebook新闻Feed中检索项目。我正在使用的代码(未完成)在下面,似乎只返回一个新闻提要帖子。我已阅读有关基于游标的分页的文档,但它没有解释如何实现它,也没有找到任何其他资源来解释这个问题。
// Get items from users news feed
public void getFeed() {
Session s = Session.getActiveSession();
new Request(
s,
"/me/home",
null,
HttpMethod.GET,
new Request.Callback() {
public void onCompleted(Response response) {
/* handle the result */
JSONArray json = null;
JSONObject current = null;
try {
json = (JSONArray)response.getGraphObject().getProperty("data");
} catch(Exception e) {
// TODO
}
for(int i=0; i<5; i++) {
try {
current = json.getJSONObject(i);
Log.d("Value: ", current.get("message").toString());
} catch(Exception e) {
// Nothing
}
}
}
}
).executeAsync();
}
由于我还在尝试,我只是尝试下拉5个新闻Feed项并输出message
JSON属性。有人可以告诉我如何正确实现基于游标的分页,一次下拉任意数量的Feed帖子吗?感谢
答案 0 :(得分:1)
链接中的人正在使用FB-Andriod-SDK 3.0.1 Source
这意味着它正在使用Graph v1.0
FB-Andriod-SDK 3.8及以上版本开始使用Graph v2.0
在Graph v2.0及更高版本中,能够使用&#34; read_stream&#34;许可变得非常有限。这么多,除非你是Facebook工程师,否则你不会得到它。
限制使用
- 此权限授予在Facebook尚不可用的平台上构建Facebook品牌客户端的应用程序。例如,Android和iOS应用不会获得此权限的批准。此外,Web,桌面,车载和电视应用程序将不被授予此权限。
Source, Scroll down to "read_stream"
用户/家庭边缘需要&#34; read_stream&#34; (用户是用户ID的占位符或&#34;我&#34;关键字)
权限
- 查看该人的新闻Feed需要具有 read_stream 权限的用户访问令牌。
这也扩展到用户/提要边
权限
- 查看公共链接需要任何有效的访问令牌。
- 需要具有read_stream权限的用户访问令牌。
- 仅显示作者已授予应用程序read_stream权限的帖子。
以及用户/帖子边缘
这是/ feed边缘的副本,仅显示此人自己发布的帖子。
2015年4月30日,Graph v1.0将完全消失。
最新版本的Graph API是v2.2。调用v1.0的应用程序将在2015年4月30日之前升级到v2.0或更高版本。
Source, under "Staying up to date"
可以在此处找到有关此问题的更多有见地的信息。 Read all the comments Emil (FB Engineer) and Simon (Graph Product Manger)是最好的来源
所以它归结为。您正在尝试做Facebook开发的应用程序已经执行的操作,并且他们不希望您这样做。
答案 1 :(得分:0)
首先,你不能使用“我/家”作为电话。它需要“read_stream”权限,你永远不会得到批准。
实际上没有办法自己获取这些数据。你必须使用FB Media Partners
之一以下是更多信息。 Click here for more info