无法通过API发布到LinkedIn组

问题描述

按照此处的“创建群组帖子”示例通过LinkedIn API群组发布时:

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"
    }
}

我注意到在示例代码中,它是媒体:[]

但是在您的代码中,您没有使用[] 这可能就是为什么您收到此错误消息的原因。

,

假设您的完整错误与this帖子中的错误相同:

{“ serviceErrorCode”:100,“消息”:“ REQUEST_BODY中存在不允许的字段:处理字段[/ containerEntity]时出现数据处理异常”,“状态”:403}

403是一个禁止的错误,您没有提及ugcposts端点的r_organization_social permission。您需要w_organization_social,r_organization_social,w_member_social,并且您的OP仅显示3个中的2个。

没有containerEntity的情况下无法发送UGC帖子,因此您不能仅删除它并进行测试,并且所使用的格式看起来与他们的V2文档正确。并非LinkedIn合作伙伴,因此很遗憾,我自己无法测试和证实错误,但请确认您具有所有适当的权限。

,

由于您使用的是新协议X-Restli-Protocol V2,因此应尝试将列表“ [something,something2]”的任何实例更改为“ List(something,something2)”。另外,请记住对要传递给该列表的所有URN进行URL编码(对于JavaScript为encodeURIComponent())。

很高兴提供帮助。