/{comment-id}
用戶可對 Facebook 的各類內容發表 comment
。大多數 Graph API 節點均有 /comments
關係連線,當中列出對特定物件的所有回應。/{comment-id}
節點會傳回單一 comment
。
新版專頁體驗支援此 API。
一般 - 如要讀取回應,所需權限一般與查看回應所在物件的權限相同。
回應 - 如果此回應是對其他回應的回覆,則所需權限適用於上層回應所在的物件。
由專頁擁有的回應和回覆 — 如果回應或回覆由專頁所擁有,您必須使用專頁存取憑證,才能取得包含用戶資訊的回應。
專頁帖子回應編號格式 {page-id}_{post_id}_{comment-id}
已停用。請改為使用 {pagepost-id}_{comment-id}
格式。
GET /v21.0/{comment-id} HTTP/1.1
Host: graph.facebook.com
/* PHP SDK v5.0.0 */
/* make the API call */
try {
// Returns a `Facebook\FacebookResponse` object
$response = $fb->get(
'/{comment-id}',
'{access-token}'
);
} catch(Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
"/{comment-id}",
function (response) {
if (response && !response.error) {
/* handle the result */
}
}
);
/* make the API call */
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/{comment-id}",
null,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
/* handle the result */
}
}
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
initWithGraphPath:@"/{comment-id}"
parameters:params
HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
id result,
NSError *error) {
// Handle the result
}];
屬性名稱 | 說明 | 類型 |
---|---|---|
| 回應編號 |
|
| 附加至回應的連結、影片、貼圖或相片 | |
| 瀏覽者能否回覆此回應 |
|
| 瀏覽者能否移除此回應 |
|
| 瀏覽者能否隱藏此回應;只有專頁管理員才能看到此欄位 |
|
| 瀏覽者能否讚好此回應 |
|
| 瀏覽者能否向此回應傳送私人回覆(僅限專頁瀏覽者) |
|
| 此回應收到的回覆數量 |
|
| 此回應的發表時間 |
|
| 發表此回應的用戶 | |
| 此回應獲得的讚好次數 |
|
| 回應文字 |
|
| 在 |
|
| 包含相片或影片的帖子回應,包括動態帖子中的回應。如無,此欄位將為空白。 |
|
| 若是回應的回覆,此為回覆所屬的回應。 | |
| 回應永久連結網址。 如果執行呼叫的應用程式只有專頁公開內容存取權限功能,向 20.0 及更高版本 API 執行的查詢不會傳回此欄位。由 2024 年 8 月 19 日起,此變更適用於向所有 API 版本執行的查詢。 |
|
| 若回應含有私人回覆,此欄位可獲取專頁和回應作者之間的對話(僅限專頁瀏覽者) | |
| 瀏覽者有否讚好此回應。 |
|
當 /comments
關係連線在節點上出現時,您可以使用此關係連線發佈回應。
您可以使用下列端點來刪除回應:
DELETE /v21.0/{comment-id} HTTP/1.1
Host: graph.facebook.com
/* PHP SDK v5.0.0 */
/* make the API call */
try {
// Returns a `Facebook\FacebookResponse` object
$response = $fb->delete(
'/{comment-id}',
array (),
'{access-token}'
);
} catch(Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
"/{comment-id}",
"DELETE",
function (response) {
if (response && !response.error) {
/* handle the result */
}
}
);
/* make the API call */
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/{comment-id}",
null,
HttpMethod.DELETE,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
/* handle the result */
}
}
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
initWithGraphPath:@"/{comment-id}"
parameters:params
HTTPMethod:@"DELETE"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
id result,
NSError *error) {
// Handle the result
}];
新版專頁體驗支援此 API。
如要刪除由專頁發佈的回應,您將需要:
pages_read_engagement
權限 pages_manage_engagement
權限 如要刪除由用戶或其他專頁發佈的回應,您將需要:
pages_manage_engagement
權限 pages_read_user_content
權限 評論並非專頁帖子,因此專頁無法移除評論上的回應。
如果成功:
{ "success": true }
否則系統會傳回相關的錯誤訊息。
您可以使用下列端點來編輯回應:
POST /v21.0/{comment-id} HTTP/1.1
Host: graph.facebook.com
message=This+is+a+test+comment
/* PHP SDK v5.0.0 */
/* make the API call */
try {
// Returns a `Facebook\FacebookResponse` object
$response = $fb->post(
'/{comment-id}',
array (
'message' => 'This is a test comment',
),
'{access-token}'
);
} catch(Facebook\Exceptions\FacebookResponseException $e) {
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
"/{comment-id}",
"POST",
{
"message": "This is a test comment"
},
function (response) {
if (response && !response.error) {
/* handle the result */
}
}
);
Bundle params = new Bundle();
params.putString("message", "This is a test comment");
/* make the API call */
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/{comment-id}",
params,
HttpMethod.POST,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
/* handle the result */
}
}
).executeAsync();
NSDictionary *params = @{
@"message": @"This is a test comment",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
initWithGraphPath:@"/{comment-id}"
parameters:params
HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
id result,
NSError *error) {
// Handle the result
}];
新版專頁體驗支援此 API。
pages_read_engagement
權限 pages_manage_engagement
權限 您可以隱藏帖子上的大部分回應,但以下情況除外:
您必須在更新時提供下列其中一項:attachment_url
、attachment_id
、message
或 attachment_share_url
。
您必須加入一則訊息或一個附件。附件可以是 url
、attachment_id
或 attachment_share_url
。您可以同時加入 id
和 url
。如果加入 attachment_share_url
,則不可加入其他項目。
更新時,您必須加入原始內容所包含的任何值。如果您沒有加入任何一個值,相應的值會在更新後從內容中移除。舉例來說,如果您所更新的回應包含透過 attachment_url
指明的圖像,但您沒有在更新中將其包括在內,此圖像便會移除。
更新支援 /object/comments
發佈部分所列的欄位,當中包括 attachment_url
、attachment_id
、message
和 source
。如欲了解這些欄位的詳情,請參閱上述文件。
更新亦支援此處所列的 is_hidden
欄位。
名稱 | 說明 | 類型 |
---|---|---|
| 此回應處於隱藏還是可見狀態。原始發佈者、專頁管理員及回應中被標註的其他用戶仍可以看到此回應 |
|
如果成功,您將會收到包含以下資訊的回應。此外,此端點支援先寫後讀,並且可以即時傳回由讀取操作傳回的任何欄位。
{ "success": true }
如果不成功,系統會傳回相關錯誤訊息。
屬性名稱 | 說明 | 類型 |
---|---|---|
/comments | 回覆此回應的回應。 | Edge<Comment> |
/likes | 讚好此回應的用戶。 | Edge<Profile> |
/reactions | 已對此帖子表達心情的用戶。 | Edge<Reaction> |
/private_replies | 用以向此回應傳送私人訊息回覆(僅限專頁瀏覽者)。 | Edge<Message> |