如何通过LinkedIn API v2 / UGC Post API发布(不共享)文章

时间:2019-05-04 11:03:17

标签: linkedin linkedin-api ugc

用例

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

说明

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

到目前为止,我已经成功共享了文本,图像和文章URL。但是,创建一篇文章(出版文章)时,我并不完全了解该怎么做。

有Article API,但是该API仅具有检索已发布文章的方法。在文档中,UGC Post API被称为发布机制。

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

在LinkedIn网站上发布此类文章的手动方法是转到https://www.linkedin.com/post/new的LinkedIn Publishing,然后通过可视编辑器创建内容。

但是,并非所有用户都可以发布。如果一个用户可以使用,则由LinkedIn做出决定-可能是自动的。 here文档对此进行了说明。

  

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

问题

  • 是否甚至可以使用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
    }
}

2 个答案:

答案 0 :(得分:0)

文档为here

有效载荷应如下所示:

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

答案 1 :(得分:-2)

// 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'
        }
    }
}