/{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 /v21.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 /v21.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 /v21.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.