使用帖子 API 向组织创建帖子

问题描述 投票:0回答:1

我正在从使用

https://api.linkedin.com/v2/ugcPosts
迁移到
https://api.linkedin.com/rest/posts

在组织中创建帖子的 UgcPosts API 调用有效:

POST https://api.linkedin.com/v2/ugcPosts
Header: X-Restli-Protocol-Version: 2.0.0
{
    "author": "urn:li:organization:73873366",
    "lifecycleState": "PUBLISHED",
    "specificContent": {
        "com.linkedin.ugc.ShareContent": {
            "shareCommentary": {
                "text": "Share commentary text."
            },
            "shareMediaCategory": "IMAGE",
            "media": [
                {
                    "status": "READY",
                    "description": {
                        "text": "Description text."
                    },
                    "media": "urn:li:digitalmediaAsset:D4D22AQHZkwZQ-pS_AQ",
                    "title": {
                        "text": "Title text."
                    }
                }
            ]
        }
    },
    "visibility": {
        "com.linkedin.ugc.MemberNetworkVisibility": "PUBLIC"
    }
}

回复是

201 Created
给我
{ "id": "urn:li:share:7069267959319339009" }

但是,如果我使用新的帖子 API,它会抱怨(我正在遵循 官方文档 Single Post Creation Sample Request:

POST https://api.linkedin.com/rest/posts
Header: X-Restli-Protocol-Version: 2.0.0
Header: LinkedIn-Version: 202305
{
  "author": "urn:li:organization:73873366",
  "commentary": "My cool image.",
  "visibility": "PUBLIC",
  "distribution": {
    "feedDistribution": "MAIN_FEED",
    "targetEntities": [],
    "thirdPartyDistributionChannels": []
  },
  "content": {
    "media": {
      "title":"Name of the image",
      "id": "urn:li:image:D4D22AQHZkwZQ-pS_AQ"
    }
  },
  "lifecycleState": "PUBLISHED",
  "isReshareDisabledByAuthor": false
}

我得到的回应是

400 Bad Request
:

{
    "message": "Organization permissions must be used when using organization as author",
    "status": 400
}

通过阅读文档,我无法弄清楚需要什么步骤。我尝试使用

/rest/organizationAuthorizations
端点获取信息,如LinkedIn文档组织授权中所述,但这给我带来了问题。

我正在尝试 get-organization-authorization-information,如文档中所述:

GET https://api.linkedin.com/rest/organizationAuthorizations/(impersonator:urn%3Ali%3Aperson%3ASnbx29l-ix,organization:urn%3Ali%3Aorganization%3A73873366,action:(organizationRoleAuthorizationAction:(actionType:ADMINISTRATOR_READ)))
Header: X-Restli-Protocol-Version: 2.0.0
Header: LinkedIn-Version: 202305

这会产生

400 Bad Request

{
    "status": 400,
    "code": "ILLEGAL_ARGUMENT",
    "message": "Syntax exception in path variables"
}

我认为文档中有问题。

这些是我正在使用的令牌的权限:

POST https://www.linkedin.com/oauth/v2/introspectToken
Header: X-Restli-Protocol-Version: 2.0.0
{ "token": "...", "client_id": "...", "secret": "..."}

回应:

{
    "active": true,
    "client_id": "...",
    "authorized_at": 1685445569,
    "created_at": 1685445569,
    "status": "active",
    "expires_at": 1690629570,
    "scope": "r_emailaddress,r_liteprofile,r_member_live,r_organization_admin,r_organization_live,w_member_live,w_member_social,w_organization_live",
    "auth_type": "3L"
}

我的演唱会总结:

  • UgcPosts API -> Posts API 的正确迁移是什么?
  • Organization permissions must be used when using organization as author
    是什么意思?我需要传递一个单独的令牌吗?我正在玩的用户对我正在使用的组织具有管理员访问权限。我是否应该使用 LinkedIn UI 调整组织权限?
  • 我需要更多 OAuth 权限吗?
  • 我可以继续使用旧版 UgcPosts API 吗?它似乎不适用于未版本化的
    /v2/ -> /rest/
    迁移。会是日落吗
rest linkedin-api
1个回答
1
投票

理论上,如果您包含在 OAuth2 范围中

w_organization_social
,您应该能够使用新 API 创建帖子,就像使用未版本化 API 一样,这意味着无需任何新权限。

也就是说,我遇到了类似的问题,在我自己的帐户上,使用启用了所有范围的新令牌,

rest/posts
端点不断出错。

这可能是因为唯一

/v2
API 将于 6 月 30 日停止以支持
/rest
(版本化) API 是营销 API。

如果您发帖,您正在使用 LinkedIn API 上的共享,这些 API 的

/rest
形式似乎功能不全。这也意味着您不需要过渡到新的 API。

无论如何,我尚未测试的一种“可能”解决方法可能是添加每个组织范围(rw_organization_admin

r_organization_social
w_organization_social
r_organization_admin
)。
我认为可能发生的情况是,如果您没有 

r_organization_admin

权限,则无法创建帖子。不过,这只是一个假设。

我会在 ZenDesk 上向他们的支持人员发送消息,看看他们是否有更好的答案。

TL;DR:不,消费者无版本 API 不会很快消失。我在个人资料上遇到了类似的问题。

© www.soinside.com 2019 - 2024. All rights reserved.