/{object-id}/commentsЭта статья посвящена границе контекста /comments, которую используют многие узлы API Graph. Ее структура и принцип работы одинаковы для всех узлов. Граница контекста /comments есть у следующих объектов:
|
Объекты комментариев могут иметь границу контекста /comments, которая называется ответами на комментарии. Они имеют такую же структуру, однако следует обращать внимание на модификаторы этих границ контекста.
Возвращает комментарий к объекту.
Поле id конечной точки /PAGEPOST-ID/comments больше не возвращается для приложений, которые используют функцию доступа к общедоступному контенту Страницы. Для получения ID комментариев к публикации Страницы у вас должны быть права модератора на этой Странице. Это изменение вступает в силу начиная с версии 11.0 и будет реализовано во всех версиях 7 сентября 2021 г.
Новая версия Страниц поддерживает конечную точку /comments для следующих объектов:
|
|
filter значение stream или используйте поле order./comments возвращает пустые данные для следующих узлов:
idконечной точки /PAGEPOST-ID/comments для приложений, которые используют функцию доступа к общедоступному контенту Страницы, больше не возвращается. Для получения ID комментариев к публикации Страницы у вас должны быть права модератора на этой Странице.
Если у объекта десятки тысяч комментариев, при разбиении на страницы могут действовать ограничения. Подробнее о разбиении на страницы см. в руководстве по использованию API Graph.
GET /v26.0/{object-id}/comments 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(
'/{object-id}/comments',
'{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(
"/{object-id}/comments",
function (response) {
if (response && !response.error) {
/* handle the result */
}
}
);/* make the API call */
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/{object-id}/comments",
null,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
/* handle the result */
}
}
).executeAsync();/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
initWithGraphPath:@"/{object-id}/comments"
parameters:params
HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
id result,
NSError *error) {
// Handle the result
}];GET /v26.0/{object-id}/comments?summary=1&filter=toplevel 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(
'/{object-id}/comments?summary=1&filter=toplevel',
'{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(
"/{object-id}/comments",
{
"summary": true,
"filter": "toplevel"
},
function (response) {
if (response && !response.error) {
/* handle the result */
}
}
);Bundle params = new Bundle();
params.putBoolean("summary", true);
params.putString("filter", "toplevel");
/* make the API call */
new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/{object-id}/comments",
params,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
/* handle the result */
}
}
).executeAsync();NSDictionary *params = @{
@"summary": @YES,
@"filter": @"toplevel",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
initWithGraphPath:@"/{object-id}/comments"
parameters:params
HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
id result,
NSError *error) {
// Handle the result
}];| Параметр | Описание |
|---|---|
| Краткие сведения о метаданных для комментариев к объекту. Обратите внимание, что эти метаданные содержат параметр |
| Если человек может ответить на комментарий, вы можете фильтровать комментарии на основании комментариев верхнего уровня, комментариев, оставленных непосредственно в сообщении, или по хронологии.
|
Массив объектов комментариев в дополнение к следующим полям, если для параметра summary в запросе задано значение true.
| Поле | Описание |
|---|---|
| Порядок возврата комментариев:
|
| Количество комментариев в этом узле. Обратите внимание, что это значение изменяется в зависимости от используемого параметра
Примечание. Из соображений конфиденциальности или в случае удаления значение |
Вы можете публиковать комментарии к любому объекту.
Новый формат Страниц поддерживает конечную точку /comments для следующих объектов:
|
|
MODERATE на Странице.pages_manage_engagement.Обратите внимание, что возможность отвечать на комментарий определяется полем can_comment в объекте комментария.
POST /v26.0/{object-id}/comments 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(
'/{object-id}/comments',
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(
"/{object-id}/comments",
"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(),
"/{object-id}/comments",
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:@"/{object-id}/comments"
parameters:params
HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
id result,
NSError *error) {
// Handle the result
}];| Имя | Описание |
|---|---|
| Необязательный ID неопубликованного фото (см. поле |
| URL GIF-файла, который используется в качестве комментария. При публикации необходимо задать один из следующих параметров: |
| URL изображения, которое используется в качестве комментария. При публикации необходимо задать один из следующих параметров: |
| Фото в кодировке form-data, используемое в качестве комментария. При публикации необходимо задать один из следующих параметров: |
| Текст комментария. При публикации необходимо задать один из следующих параметров: Вы можете упоминать другие Страницы Facebook в тексте
Использование этой функции будет пересмотрено. |
В случае успеха вы получите ответ JSON с ID только что созданного комментария. Кроме того, эта конечная точка поддерживает чтение после записи и может сразу возвращать любые поля, возвращаемые операциями чтения.
{
"id": "{comment-id}"
}Эту границу контекста нельзя использовать для обновления.
Эту границу контекста нельзя использовать для удаления.
Чтобы удалить конкретные комментарии, используйте конечную точку /comment-id.