Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Graph API检索Facebook帖子评论_Facebook_Facebook Graph Api - Fatal编程技术网

使用Graph API检索Facebook帖子评论

使用Graph API检索Facebook帖子评论,facebook,facebook-graph-api,Facebook,Facebook Graph Api,我试图通过以下方式获得Facebook评论: http://graph.facebook.com/[post_id]/comments 它只产生15条评论中的2条,没有countinfo { “数据”:[ { “id”:“[post_id]”, “发件人”:{ “名称”:“[名称]”, “id”:“[id]” }, “消息”:“[消息]”, “创建时间”:“2011-01-23T02:36:23+0000” }, { “id”:“[id]”, “发件人”:{ “名称”:“[名称]”, “id”

我试图通过以下方式获得Facebook评论:

http://graph.facebook.com/[post_id]/comments
它只产生15条评论中的2条,没有
count
info

{
“数据”:[
{
“id”:“[post_id]”,
“发件人”:{
“名称”:“[名称]”,
“id”:“[id]”
},
“消息”:“[消息]”,
“创建时间”:“2011-01-23T02:36:23+0000”
},
{
“id”:“[id]”,
“发件人”:{
“名称”:“[名称]”,
“id”:“[id]”
},
“消息”:“[消息]”,
“创建时间”:“2011-01-23T05:16:56+0000”
}
]
}
有人知道为什么只有2条评论吗


另外,我希望检索注释(默认编号)或检索具有限制编号的注释,并获取其注释计数。有什么想法吗?(请使用图形API)。

您需要从安全请求中调用它
https
,并提供
access\u令牌

https://graph.facebook.com/19292868552_118464504835613/comments?access_token=XXX
编辑:

从文档中添加对象。尝试单击
注释连接,然后删除
访问令牌
,并尝试查看差异。

尝试通过应用程序登录进行身份验证(http://developers.facebook.com/docs/authentication)然后用访问令牌参数调用GraphAPI

您可以这样做,以避免出现大量评论问题:

  • 获取对象的()ID,正如我从您的问题中了解到的,您已经拥有它了吗
  • 使用此ID创建一个,并获取其代码
  • 将代码嵌入到您的站点中
  • 这将导致此对象的所有注释

    要获取每个对象的注释数,可以执行如下操作:

    从流中选择评论,其中post\u id=[yourposted]


    这将在count参数下的comments数组中返回此对象的计数数。

    为了获得
    Like
    计数和
    comment
    计数,您需要使用
    PostOwnerID
    PostID
    的组合,而不仅仅是
    posted

    因此,对于您的示例,它将是:

    https://graph.facebook.com/153125724720582_184234384932460/comments


    同样,正如在其他一些答案中提到的,您需要使用
    https
    方法以及
    auth\u令牌作为健全性检查,您是否具有“读取流”权限?我可以使用使用“read_stream”的访问令牌查看完整的注释。正如其他人提到的,您还必须使用https和访问令牌…

    从流中选择评论,在这种情况下,post_id=[yourposted]不起作用

    成功进行图形调用后返回的id(使用应用程序的访问令牌)的形式为abcdef_qwerty(下划线分隔的id) 其中,作为映射在注释表的post_id中的post id的形式为“lmnop”

    要获得“abcdef_qwerty”形式的帖子id上的赞数和评论数,使用应用程序生成的访问令牌进行图形调用似乎是唯一的解决方案

    比如:
    乌尔都语中有一个词JUGAAR,意思是找到出路,只是为了完成工作。因此,出于同样的目的,我制作了这个JUGAAR,我希望它能有所帮助

    $contents=file\u get\u contents(“http://graph.facebook.com/“$_GET['id']。”/likes”);
    如果(子项计数($contents,'name')>0){
    echo substr_count($contents,'name')“人们喜欢这张专辑”;
    }
    

    顺便说一句,我也是新的Fb的东西,我正在寻找帮助张贴评论。当我尝试使用graph.api./id/comments?access_token=sdfsdf&message=“D”时,它仍然返回id的注释,而不是发布。我在注释方面遇到了相同的问题。问题是我正在为测试用户使用访问令牌。因为测试用户没有访问其他FB用户信息的权限,所以只显示来自页面的评论

    结果只有15条评论中的2条

    将限制参数添加到URL:

     http://graph.facebook.com/[post_id]/comments?limit=1000&access_token=XXX
    

    这将显示所有注释。

    成功登录后,调用此方法facebookComments()

    参数。putString(“字段”、“消息”);……../它很重要

     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();
        }
    

    嗨,杰弗里,你能提供一个关于这种行为的例子吗?我检查了几个帖子,API总是返回所有评论。请确保您提供了正确的
    Post\u ID
    @JeaffreyGilbert如何获取Post\u ID以获取该pls的评论。建议我,我在我的应用程序中使用相同的功能访问令牌需要fb应用程序吗?我不希望人们必须首先授权我的应用程序,除非他们想发表评论。我的方向对吗?@Jeafrey Gilbert:只要他们对你拥有的东西发表评论,就不必授权你的应用程序或处理它。你只需要授权…所以
    访问\u令牌是你的。不,如果你不登录,你就不知道它是不是你自己的。我认为他需要创建一个应用程序ID,并要求用户先登录和授权。对不起,我误读了。。。如果你拥有的东西是公开的,是的,即使你没有被授权,你也可以看到它。但是你还需要被授权发表评论吗?@the_great_monkey:1)在阅读和理解问题之前,请不要否决投票。2) 即使您拥有的内容是公开的,根据评论者隐私设置的不同,您可能无法在未经身份验证的情况下检索他们的评论。我如何获取100002619172565_117323155031656 like id以获取所有评论?您可以使用图形APIhow获取post_id以获取评论,请。建议我@HarshalKalavadiya使用此代码段在developement var body='Reading JS SDK documentation'中进行测试;api('/me/feed','post',{message:body},函数(response){if(!