Невозможно публиковать сообщения в группе LinkedIn через API

Aug 19 2020

При отправке сообщений в группу через 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"
}

Ответы

1 RahulIyer Aug 24 2020 at 21:58

Я смотрел образец кода в вашей ссылке:

{
    "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: []

Но в вашем коде вы не использовали [] Вероятно, поэтому вы получаете это сообщение об ошибке.

LoganPoynter Aug 29 2020 at 10:06

Предполагая, что ваша полная ошибка совпадает с этим сообщением:

{"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, поэтому, к сожалению, не могу проверить и подтвердить ошибку самостоятельно, но убедитесь, что у вас есть все необходимые разрешения.