簡體   English   中英

使用Graph API檢索Facebook帖子評論

[英]Retrieve Facebook Post Comments Using Graph API

我嘗試使用以下方式獲取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)。

您需要從安全請求https調用它並提供access_token

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

編輯:
添加了post文檔中的對象。 嘗試單擊comments連接,然后刪除access_token並嘗試查看差異。

為了獲得Like計數和comment計數,您需要使用PostOwnerIDPostID的組合而不僅僅是PostID

所以對於你的例子,它將是:

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

同樣,正如其他一些答案中所提到的,您需要使用https方法和auth_token

我對評論遇到了同樣的問題。 問題是我正在為測試用戶使用訪問令牌。 由於測試用戶無權訪問其他FB用戶信息,因此僅顯示來自頁面的注釋。

在烏爾都語中有一個單詞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的注釋而不是發布。

作為完整性檢查,您是否擁有“read_stream”權限? 我可以看到使用“read_stream”的訪問令牌的完整注釋。 正如其他人所提到的,你必須使用https和訪問令牌......

它只有15條評論中的2條

向URL添加限制參數:

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

這應該顯示所有評論。

成功登錄后調用此方法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();
    }

嘗試通過App Login(http://developers.facebook.com/docs/authentication)進行身份驗證,然后使用access_token prarameter調用GraphAPI。

您可以執行以下操作以避免整個評論問題:

  1. 獲取對象( 帖子被認為是Graph API中的對象 )ID - 我從您的問題中了解到,您已經擁有它了嗎?
  2. 使用此ID創建一個評論社交插件 ,並獲取它的代碼。
  3. 將代碼嵌入您的網站。

這將導致此對象的所有注釋。

要獲取每個對象的注釋計數,可以執行fql查詢 ,如下所示:

SELECT comments FROM stream WHERE post_id = [yourpostid]

這將在count參數下的comments數組中返回此對象的計數數。

SELECT comments FROM stream WHERE post_id = [yourpostid]在這種情況下不起作用..

在成功調用圖形以在用戶的​​牆上發布(使用應用程序的access_token)后返回的id的形式為abcdef_qwerty(下划線分隔id),其中post id在map表的post_id中映射為形式“lmnop”..

得到喜歡的評論和評論這個帖子id的形式“abcdef_qwerty”使用app生成的訪問令牌進行圖形調用似乎是唯一的解決方案..

類似於: https//graph.facebook.com/100002619172565_117323155031656?access_token = xxxxxxxxxxxxxx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM