首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正在将图像发布到个人配置文件无效的请求参数

正在将图像发布到个人配置文件无效的请求参数
EN

Stack Overflow用户
提问于 2020-03-21 10:06:31
回答 1查看 142关注 0票数 1

无法通过共享终结点共享图像内容,图像资产是通过assets接口上载的,但我对直接从示例中复制的共享接口的请求此处https://docs.microsoft.com/en-us/linkedin/marketing/integrations/community-management/shares/share-api?context=linkedin/compliance/context#share-content返回错误,请求正文/Headers中的参数无效请参阅下面的详细信息。

代码语言:javascript
复制
Request Headers:
{Authorization: Bearer ***
X-Restli-Protocol-Version: 2.0.0
}

Request Body
{"content":{"contentEntities":[{"entity":"urn:li:digitalmediaAsset:C5622AQEEn3mmqzCb5w"}],"title":"Great Result","landingPageUrl":"https://google.com.au","shareMediaCategory":"IMAGE"},"distribution":{"linkedInDistributionTarget":{}},"owner":"urn:li:person:zzR_UbXjsG","subject":"Great Result","text":{"text":"Great result, couldn't have gone better #realestate"}}

Scopes:
scope=r_emailaddress w_member_social w_organization_social r_basicprofile rw_company_admin rw_organization_admin

Error:
{"serviceErrorCode":100,"message":"Unpermitted fields present in REQUEST_BODY: Data Processing Exception while processing fields [/Headers]","status":403}
EN

回答 1

Stack Overflow用户

发布于 2020-03-30 10:48:54

看起来错误消息与标题有关。您的请求主体是JSON,但是您没有设置Content-Type头,所以这可能是问题所在:

代码语言:javascript
复制
Content-Type: application/json

通常,您需要一个Content-Length标头与之一起发送,但大多数时候,您用来发送请求的客户端会处理该标头的设置。

我不确定您是如何发出请求的,但这里有一个用JavaScript编写的fetch()示例(请确保在Authorization标头中放入正确的身份验证标记):

代码语言:javascript
复制
const url = 'https://api.linkedin.com/v2/shares';

const requestBody = {
  "content": {
    "contentEntities": [
      {
        "entity": "urn:li:digitalmediaAsset:C5622AQEEn3mmqzCb5w"
      }
    ],
    "title": "Great Result",
    "landingPageUrl": "https://google.com.au",
    "shareMediaCategory": "IMAGE"
  },
  "distribution": {
    "linkedInDistributionTarget": {}
  },
  "owner": "urn:li:person:zzR_UbXjsG",
  "subject": "Great Result",
  "text": {
    "text": "Great result, couldn't have gone better #realestate"
  }
};

async function makeRequest(url, requestBody) {
  const response = await fetch(url, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'Authorization': 'Bearer ***',
      'X-Restli-Protocol-Version': '2.0.0'
    },
    body: JSON.stringify(requestBody) // body data type must match "Content-Type" header
  });
  return await response.json(); // parses JSON response into native JavaScript objects
}

// make the actual request
makeRequest(url, requestBody);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60783806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档