Публикация изображения в личном профиле Неверные параметры запроса - PullRequest
1 голос
/ 21 марта 2020

Невозможно поделиться контентом изображения через конечную точку общего ресурса, актив изображения загружен через API ресурсов, но моя просьба поделиться API, который скопирован непосредственно из приведенного здесь примера, https://docs.microsoft.com/en-us/linkedin/marketing/integrations/community-management/shares/share-api?context=linkedin / соответствие / context # share-content возвращает ошибку, недопустимые параметры в теле запроса [/ Headers] см. подробности ниже.

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}

1 Ответ

0 голосов
/ 30 марта 2020

Похоже, что сообщение об ошибке связано с заголовками. Тело вашего запроса JSON, но у вас нет установленного заголовка Content-Type, так что это может быть проблемой:

Content-Type: application/json

Как правило, вам нужен заголовок Content-Length для отправки с этим, но большую часть времени клиент, который вы используете для отправки запроса, обрабатывает настройку этого.

Я не уверен, как вы делаете запрос, но вот пример fetch() в JavaScript (убедитесь, что в заголовке Authorization указан правильный токен авторизации):

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);
...