[英]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
計數,您需要使用PostOwnerID
和PostID
的組合而不僅僅是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。
您可以執行以下操作以避免整個評論問題:
這將導致此對象的所有注釋。
要獲取每個對象的注釋計數,可以執行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.