3

用例

作为授权的 LinkedIn 用户
,我想通过 LinkedIn API 发布文章
所以我的外部服务可以代表我创建内容

描述

我想通过 LinkedIn API v2 在 LinkedIn 上发布(而不是分享)一篇文章。

到目前为止,我已经成功地分享了文本、图像和文章 URL。但是,创建一篇文章(Publishing Article),我并不完全明白如何做到这一点。

有文章 API,但该 API 只有检索已发布文章的方法。在文档中,UGC Post API 被引用为发布机制。

在 UGC Post API 的文档中,我只能找到用于共享文本、图像和文章 URL 的文档。我完全错过了文章创作。

在 LinkedIn 网站上发布此类文章的手动方式是访问 LinkedIn Publishing,网址为https://www.linkedin.com/post/new,并通过可视化编辑器创建内容。

但是,并非所有用户都可以发布。如果它可供一个用户使用是由 LinkedIn 做出的决定——可能是自动的。这在此处的文档中有所说明。

发布目前并非对所有成员都可用,并且发布的访问权限不受您的帐户类型的决定或影响。免费和高级帐户都可以拥有发布权限。拥有高级帐户并不能保证发布访问权限。

问题

  • 甚至可以使用 LinkedIn API v2 发布文章吗?
  • 如何通过 LinkedIn API v2 发布文章?
  • 除了为 UGC Post API (w_member_social) 指定的权限之外,是否还需要其他权限?

现有的失败请求

// request
{
    method: 'POST',
    headers: {
        Authorization: `Bearer ${accessToken}`,
        'X-Restli-Protocol-Version': '2.0.0'
    },
    uri: `${LINKEDIN_API_URL}/v2/ugcPosts`,
    json: true,
    body: {
        author: `urn:li:person:${linkedinUserId}`,
        lifecycleState: 'PUBLISHED',
        specificContent: {
            'com.linkedin.ugc.ShareContent': {
                shareCommentary: {
                    text: `<strong>Let's hope this is possible</strong><br/>it would be bad if not<br/>said by me at ${new Date()}`
                },
                shareMediaCategory: 'URN_REFERENCE'
            }
        },
        visibility: {
            'com.linkedin.ugc.MemberNetworkVisibility': 'PUBLIC'
        }
    }
}

// response
{
    statusCode: 500,
    body: {
        message: 'INTERNAL SERVER ERROR',
        status: 500
    }
}
4

2 回答 2

0

文档在这里

有效载荷应该是这样的:

{"content": {
    "contentEntities": [
        {
            "entityLocation": "https://www.example.com/content.html",
            "thumbnails": [
                {
                    "resolvedUrl": "https://www.example.com/image.jpg"
                }
            ]
        }
    ],
    "title": "Test Share with Content"
},
"distribution": {
    "linkedInDistributionTarget": {}
},
"owner": "urn:li:person:324_kGGaLE",
"subject": "Test Share Subject",
"text": {
    "text": "Test Share!"
}}
于 2019-07-11T01:52:04.533 回答
-4
// request
{
    method: 'POST',
    headers: {
        Authorization: `Bearer ${accessToken}`,
        'X-Restli-Protocol-Version': '2.0.0'
    },
    uri: `${LINKEDIN_API_URL}/v2/ugcPosts`,
    json: true,
    body: {
        author: `urn:li:person:${linkedinUserId}`,
        lifecycleState: 'PUBLISHED',
        specificContent: {
            'com.linkedin.ugc.ShareContent': {
                shareCommentary: {
                    text: `<strong>Let's hope this is possible</strong><br/>it would be bad if not<br/>said by me at ${new Date()}`
                },
                shareMediaCategory: 'NONE'
            }
        },
        visibility: {
            'com.linkedin.ugc.MemberNetworkVisibility': 'PUBLIC'
        }
    }
}
于 2019-08-25T13:40:48.593 回答