Массовая загрузка Salesforce CSV с помощью скрипта Google Apps UrlFetchApp - PullRequest
1 голос
/ 19 апреля 2019

Я пытаюсь использовать Google Apps Script для доступа к Salesforce Bulk API 2.0 и загрузить данные CSV в задание , однако Salesfore возвращает

[{"errorCode":"METHOD_NOT_ALLOWED","message":"HTTP Method 'GET' not allowed. Allowed are PUT"}]

Учитывая мой опыт работы с Salesforce API, я очень сомневаюсь, что проблема на самом деле связана с типом метода, но есть и другая проверка, которая вызывает эту ошибку. Однако после проверки тела запроса и сравнения его с тем, что я успешно отправил через cURL, я не вижу, что я могу сделать, чтобы решить.

Код запроса:

var headers = {
  "Authorization": "Bearer TOKEN"
};
var options = {
  "method": "put",
  "contentType": "text/csv",
  "headers": headers,
  "payload": "Id,Entity_Name__c\n001,One\n002,Two\n003,Three"
};
var url = INSTANCE + "/services/data/v44.0/jobs/ingest/" + JOB_ID + "/batches";
UrlFetchApp.fetch(url, options);

Запрос скрипта Google Apps, возвращаемый через getRequest():

{
  "headers": {
    "Authorization": "Bearer TOKEN"
  },
  "method": "put",
  "payload": "Id,Entity_Name__c\n001,One\n002,Two\n003,Three",
  "followRedirects": true,
  "validateHttpsCertificates": true,
  "useIntranet": false,
  "contentType": "text/csv",
  "url": "INSTANCE/services/data/v44.0/jobs/ingest/JOB_ID/batches"
}

запрос cURL:

curl --request PUT \
  --url INSTANCE/services/data/v44.0/jobs/ingest/JOB_ID/batches \
  --header 'authorization: Bearer TOKEN' \
  --header 'content-type: text/csv' \
  --data '"Id,Entity_Name__c\n001,One\n002,Two\n003,Three"'

Как мне решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...