Невозможно публиковать сообщения в группе LinkedIn через API
При отправке сообщений в группу через API LinkedIn в соответствии с примером «Создание группового сообщения» здесь:
https://docs.microsoft.com/en-us/linkedin/compliance/integrations/groups/group-posts-and-actions?context=linkedin/compliance/context
Я всегда получаю: «Недопустимые поля присутствуют в REQUEST_BODY: исключение обработки данных при обработке полей [/ containerEntity]»
Наше приложение является партнером платформы для разработчиков маркетинга. Я получаю разрешения w_organization_social, w_member_social, rw_organization_admin, r_liteprofile, r_emailaddress при авторизации. Я могу успешно разместить сообщение на странице организации.
Как я мог исправить эту ошибку? Нужно ли нам запрашивать дополнительные разрешения?
Детали запроса:
REQUEST: https://api.linkedin.com/v2/ugcPosts
METHOD: HttpMethod(value=POST)
COMMON HEADERS
-> X-Restli-Protocol-Version: 2.0.0
-> Authorization: Bearer <...>
-> Accept: application/json
-> Accept-Charset: UTF-8
BODY Content-Type: application/json
Request body:
{
"author": "url:li:person:<id>",
"containerEntity": "urn:li:group:<id>",
"specificContent": {
"com.linkedin.ugc.ShareContent": {
"media": [
{
"description": {
"text": "Check out our awesome group!",
"attributes": []
},
"status": "READY",
"thumbnails": [],
"title": {
"text": "Group Post!",
"attributes": []
}
}
],
"shareCommentary": {
"text": "Some group text",
"attributes": []
}
}
},
"visibility": {
"com.linkedin.ugc.MemberNetworkVisibility": "CONTAINER"
},
"lifecycleState": "PUBLISHED"
}
Ответы
Я смотрел образец кода в вашей ссылке:
{
"author": "urn:li:person:123ABC",
"containerEntity": "urn:li:group:123",
"lifecycleState": "PUBLISHED",
"specificContent": {
"com.linkedin.ugc.ShareContent": {
"media": [
{
"description": {
"attributes": [],
"text": "Check out our awesome group!"
},
"status": "READY",
"thumbnails": [],
"title": {
"attributes": [],
"text": "Group Post!"
}
}
],
"shareCommentary": {
"attributes": [],
"text": "Some group text"
}
}
},
"visibility": {
"com.linkedin.ugc.MemberNetworkVisibility": "CONTAINER"
}
}
Я заметил, что в примере кода это media: []
Но в вашем коде вы не использовали [] Вероятно, поэтому вы получаете это сообщение об ошибке.
Предполагая, что ваша полная ошибка совпадает с этим сообщением:
{"serviceErrorCode": 100, "message": "Недопустимые поля в REQUEST_BODY: исключение обработки данных при обработке полей [/ containerEntity]", "status": 403}
403 - это запрещенная ошибка, поэтому вы не упомянули r_organization_social
разрешение для конечной точки ugcposts. Вам нужно, w_organization_social, r_organization_social, w_member_social
и ваш OP показывает только 2 из 3.
Сообщение UGC нельзя отправить без containerEntity, поэтому вы не можете просто удалить его и протестировать, а используемое вами форматирование выглядит правильным для их документов для V2. Я не являюсь партнером LinkedIn, поэтому, к сожалению, не могу проверить и подтвердить ошибку самостоятельно, но убедитесь, что у вас есть все необходимые разрешения.