>我正在创建一个Android应用程序,该应用程序具有使用Graph API检索Facebook帖子的功能。
我的问题
我的问题是,收到的JSON缺少以下字段:
- 附有注释
的图像的网址 - 对评论的回复
- 只有没有。 的喜欢可用。无反应列表
- 对于包含多张图片的帖子,
full_picture
字段只包含一张图片的链接。其他图像的链接在哪里?
我用/me/posts
来获取帖子。
为什么我无法获得上述详细信息?
采取的步骤我
搜索了 Stackoverflow,但答案只提到了如何获取个人通信的图像和回复(通过使用评论 ID),但没有参考如何与从"/me/posts"
收到的 JSON 一起获取它。(所以,这不是重复的!!!)
我的查询
- 为什么我无法获得上述详细信息? 获取
- 评论的图像,回复,捆绑包中父帖子和帖子反应的所有图像的url的方法是什么。(这与
"/me/posts"
的 JSON 一起没有为每个评论运行/comment
请求?
我的代码
编写执行图形查询的代码
login_button.setReadPermissions(Arrays.asList(
"public_profile", "email", "user_birthday", "user_friends","user_posts", "user_status")); // Setting permissions
Bundle params = new Bundle();
params.putString("fields", "message,created_time,id,full_picture,status_type,source,comments.summary(true),likes.summary(true)");
params.putString("limit", "100");
new GraphRequest( loginResult.getAccessToken(), "/me/posts", params, HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
/* handle the result */
try {
EditText postsText = (EditText) findViewById(R.id.postText);
String res = response.toString();
res = res.replaceAll("\{Response:\s*\w*\W*\s*[0-9]*\W*\w*:", "");
res = res.replaceAll("\,\s*error:\s*null\W*\s*","");
postsText.setText(res);
writeToFile(res,"response");
}
catch (Exception e) {
e.printStackTrace();
}
}
}
).executeAsync();
}
@Override
public void onCancel() {
txtstatus.setText("Login canceled");
}
@Override
public void onError(FacebookException error) {
txtstatus.setText("Login failed"+error.getMessage());
}
});
杰伦
{
"data": [
{
"message": "'A reader lives a thousand lives before he dies. The man who never reads lives only one.'n- George RR Martin",
"created_time": "2018-01-28T12:17:54+0000",
"id": "113326729482474_113029916178822",
"full_picture": "https://scontent.xx.fbcdn.net/v/t1.0-9/26993527_113029839512163_7617357733573673432_n.jpg?oh=c617cf94e3cdd62320fde60e445f760e&oe=5B22BC72",
"status_type": "added_photos",
"likes": {
"data": [],
"summary": {
"total_count": 0,
"can_like": true,
"has_liked": true
}
},
"comments": {
"data": [
{
"created_time": "2018-01-28T12:23:04+0000",
"from": {
"name": "Ragesh D Antony",
"id": "1845099915531898"
},
"message": "Such a wonderful Quote ..",
"id": "113029916178822_113036856178128"
},
{
"created_time": "2018-01-28T13:59:22+0000",
"from": {
"name": "Vignesh Lakshmanen",
"id": "1558536637578045"
},
"message": "Superb",
"id": "113029916178822_113251916156622"
}
],
"paging": {
"cursors": {
"before": "WTI5dGJXVnVkRjlqZAFhKemIzSTZANVEV6TURNMk9EVTJNVGM0TVRJNE9qRTFNVGN4TkRJeE9EUT0ZD",
"after": "WTI5dGJXVnVkRjlqZAFhKemIzSTZANVEV6TWpVeE9URTJNVFUyTmpJeU9qRTFNVGN4TkRjNU5qST0ZD"
}
},
"summary": {
"order": "chronological",
"total_count": 2,
"can_comment": true
}
}
},
{
"message": ""It's an insane world, but in it there's one sanity, the loyalty of old friends. Friends, we must believe in one another." nn- Ben Hur",
"created_time": "2018-01-28T12:14:27+0000",
"id": "113326729482474_113026646179149",
"status_type": "mobile_status_update",
"likes": {
"data": [
{
"id": "1845099915531898",
"name": "Ragesh D Antony"
},
{
"id": "1558536637578045",
"name": "Vignesh Lakshmanen"
}
],
"paging": {
"cursors": {
"before": "MTg0NTA5OTkxNTUzMTg5OAZDZD",
"after": "MTU1ODUzNjYzNzU3ODA0NQZDZD"
}
},
"summary": {
"total_count": 2,
"can_like": true,
"has_liked": false
}
},
"comments": {
"data": [
{
"created_time": "2018-01-28T12:24:40+0000",
"from": {
"name": "Ragesh D Antony",
"id": "1845099915531898"
},
"message": "I like Ben Hur very much",
"id": "113026646179149_113040629511084"
}
],
"paging": {
"cursors": {
"before": "WTI5dGJXVnVkRjlqZAFhKemIzSTZANVEV6TURRd05qSTVOVEV4TURnME9qRTFNVGN4TkRJeU9EQT0ZD",
"after": "WTI5dGJXVnVkRjlqZAFhKemIzSTZANVEV6TURRd05qSTVOVEV4TURnME9qRTFNVGN4TkRJeU9EQT0ZD"
}
},
"summary": {
"order": "chronological",
"total_count": 1,
"can_comment": true
}
}
}
],
"paging": {
"previous": "https://graph.facebook.com/v2.11/113326729482474/posts?fields=message,created_time,id,full_picture,status_type,source,comments.summary%28true%29,likes.summary%28true%29&limit=100&format=json&since=1517141874&access_token=EAATh9tg5DMIBANl59BIPExJRzwZAhedH6PSsV2ZAO9FvzFiGqAW3HKafH9b7Bb0gSKnQMJktzUhX2DZCB29BezRUfI2HOumZAYp6FFYwOBJA1ZCdaE4ZCNLXB1ctUZBaKwbp8lXlZBwZBLLCG25CnGAckZClJXZA5omRDFtVvnJFTkJpqigUmy22QNGFmF4CgfC6sWEuVin7mAI9WZCkKkNVzSEeDGDoitt7xeVFiHXCetKOVoLZAl3qyfrYj&__paging_token=enc_AdC03uweQZCRZBN6tZCzhAQ50BZCKzx5koYtAZBRUmgY94TKcCrj6owvzXw9lpoL4iBKJUkW1ZAz4MoZAZBBaGSLZAHTHsKuEst7gtKaQrsQoiZBx8sO2QjQZDZD&__previous=1",
"next": "https://graph.facebook.com/v2.11/113326729482474/posts?fields=message,created_time,id,full_picture,status_type,source,comments.summary%28true%29,likes.summary%28true%29&limit=100&format=json&access_token=EAATh9tg5DMIBANl59BIPExJRzwZAhedH6PSsV2ZAO9FvzFiGqAW3HKafH9b7Bb0gSKnQMJktzUhX2DZCB29BezRUfI2HOumZAYp6FFYwOBJA1ZCdaE4ZCNLXB1ctUZBaKwbp8lXlZBwZBLLCG25CnGAckZClJXZA5omRDFtVvnJFTkJpqigUmy22QNGFmF4CgfC6sWEuVin7mAI9WZCkKkNVzSEeDGDoitt7xeVFiHXCetKOVoLZAl3qyfrYj&until=1517140875&__paging_token=enc_AdC1r6ZBwBybSmO16DuZCEWGDbdqTeiKCbTsa7h6WDenaZBgB40Xbc0flGcwYqiYPFiEf9wEvuBSoEvbfyl25J0JlbyfhKA1ZBufZC5ZAJMqLMg6bAXgZDZD"
}
}
好吧,关于"反应列表",这仅适用于页面所有者(从 2018 年 2 月开始)。
阅读图形 API 文档: https://developers.facebook.com/docs/graph-api/reference/v2.12/post
"对于页面上的帖子:
任何有效的访问令牌都可以读取公共主页上的帖子,但回复不会包含用户信息。 主页访问令牌可以读取发布到该主页或由该主页发布的所有帖子,回复将包括用户信息。