我尝试使用以下方式获取Facebook评论:
http://graph.facebook.com/[post_id]/comments
只有15条评论中的2条,且没有count
信息。
{
"data": [
{
"id": "[post_id]",
"from": {
"name": "[name]",
"id": "[id]"
},
"message": "[message]",
"created_time": "2011-01-23T02:36:23+0000"
},
{
"id": "[id]",
"from": {
"name": "[name]",
"id": "[id]"
},
"message": "[message]",
"created_time": "2011-01-23T05:16:56+0000"
}
]
}
任何人都知道为什么只有2条评论?
此外,我想检索评论(默认号码)或使用我的限制号检索评论,并获取其评论数。任何的想法? (请使用Graph API)。
答案 0 :(得分:38)
您需要通过安全请求https
调用它并提供access_token
:
https://graph.facebook.com/19292868552_118464504835613/comments?access_token=XXX
修改强>
添加了post
文档中的对象。尝试点击comments
连接,然后移除access_token
并尝试查看差异。
答案 1 :(得分:4)
为了获得Like
计数和comment
计数,您需要使用PostOwnerID
和PostID
的组合,而不仅仅是PostID
因此,对于您的示例,它将是:
https://graph.facebook.com/153125724720582_184234384932460/comments
同样,正如其他一些答案所述,您需要使用https
方法和auth_token
答案 2 :(得分:3)
我在评论方面遇到了同样的问题。问题是我正在为测试用户使用访问令牌。由于测试用户无权访问其他FB用户信息,因此仅显示来自页面的评论。
答案 3 :(得分:2)
乌尔都语中有一个词JUGAAR意味着找到出路,只是为了完成工作。所以出于同样的目的我制作了这个JUGAAR,我希望它有所帮助。
$contents = file_get_contents("http://graph.facebook.com/" . $_GET['id'] . "/likes");
if (substr_count($contents, 'name')>0) {
echo substr_count($contents, 'name') . " people like this album";
}
顺便说一句,我也是这个Fb的新手,我正在寻找帮助发表评论。当我尝试使用graph.api./id/comments?access_token=sdfsfsdf&message="D“时,它仍会返回id的注释而不是发布。
答案 4 :(得分:1)
作为完整性检查,您是否拥有“read_stream”权限?我可以看到使用“read_stream”的访问令牌的完整注释。正如其他人所提到的,你也必须使用https和访问令牌......
答案 5 :(得分:0)
尝试通过App Login(http://developers.facebook.com/docs/authentication)进行身份验证,然后使用access_token prarameter调用GraphAPI。
答案 6 :(得分:0)
你可以这样做,以避免整个评论问题:
这将导致该对象的所有注释。
要获得每个对象的评论计数,您可以执行fql query,如下所示:
SELECT comments FROM stream WHERE post_id = [yourpostid]
这将在计数参数下的评论数组中返回此对象的计数数。
答案 7 :(得分:0)
SELECT FROM FROM FROM WHERE post_id = [yourpostid]在这种情况下不起作用..
成功调用图形以在用户的墙上发布(使用应用程序的access_token)后返回的id的格式为abcdef_qwerty(下划线分隔的id) 在注释表的post_id中映射的post id的形式为“lmnop”..
获取类似的评论和评论这个帖子的形式“abcdef_qwerty”使用app生成的访问令牌进行图形调用似乎是唯一的解决方案..
像这样的东西: https://graph.facebook.com/100002619172565_117323155031656?access_token=xxxxxxxxxxxxx答案 8 :(得分:0)
只有15条评论中的2条
向网址添加限制参数:
http://graph.facebook.com/[post_id]/comments?limit=1000
这应该显示所有评论。
答案 9 :(得分:0)
成功登录后调用此方法facebookComments()
parameters.putString(“fields”,“message”); ............. //重要
AccessToken accessToken = AccessToken.getCurrentAccessToken();
public void facebookComments() {
try {
getFriends(accessToken, new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
Log.e("keshav", "one" + response);
CommonMethod.showAlert("res --> " + response, MainActivity.this);
}
}
);
} catch (Exception e) {
CommonMethod.showAlert("Exception is -> " + e, MainActivity.this);
}
}
public void getFriends(AccessToken token, GraphRequest.Callback callback)
{
// TODO Comments Working but id return only
GraphRequest requestt = new GraphRequest(token, "744511125731315_751199848395776/comments",
null, HttpMethod.GET, callback);
Bundle parameters = new Bundle();
parameters.putString("fields", "id"); // todo in use imp
parameters.putString("fields", "name"); // todo in use imp
parameters.putString("fields", "from"); // todo in use imp
parameters.putString("fields", "message"); // todo in use imp
requestt.setParameters(parameters);
requestt.executeAsync();
}