Create LinkedIn UGC Post with Document Asset

Viewed 48

The LinkedIn API documentation for UGC Posts seems to imply you can share a post with a document by setting shareMediaCategory: "NATIVE_DOCUMENT", but there is no additional information about how to make this work. The documentation seems limited to images/videos.

This is what I have tried so far.

const registerUpload = () => {

  // Doesn't seem to be documented, but the API responses on the LinkedIn site
  // returns 'urn:li:digitalmediaRecipe:feedshare-document', so it seemed like a decent guess
  const type = 'document'; // 'image' or 'video' works fine

  return axios({
    method: 'post',
    url: 'https://api.linkedin.com/v2/assets?action=registerUpload',
    data: {
      registerUploadRequest: {
        owner,
        recipes: [
          `urn:li:digitalmediaRecipe:feedshare-${type}`,
        ],
        serviceRelationships: [
          {
            identifier: 'urn:li:userGeneratedContent',
            relationshipType: 'OWNER',
          },
        ],
        ...(synchronous ? {
          supportedUploadMechanism: [
            'SYNCHRONOUS_UPLOAD',
          ],
        } : {}),
      },
    },
    headers: {
      Authorization: `Bearer ${tokenInfo.token}`,
      'X-Restli-Protocol-Version': '2.0.0',
    },
  });
}

which returns the following

{
  serviceErrorCode: 100,
  message: 'Field Value validation failed in REQUEST_BODY: Data Processing Exception while processing fields [/registerUploadRequest/recipes/relationshipType]',
  status: 403
}

This doesn't make sense to me since registerUploadRequest/recipes/relationshipType doesn't match the documented schema. Is there another way to register document assets for UGC posts?

0 Answers
Related