Нужна помощь в преобразовании curl в код Google Script - PullRequest
0 голосов
/ 27 января 2020

Я пытался преобразовать следующую строку кода curl в Google Apps Script, но мне не повезло.

Код curl:

curl -X POST "https://api.textspaced.com/market/commodities/" -H "accept: application/json" -H "Content-Type: application/x-www-form-urlencoded" -d "token=###"

Я пробовал разные стили заголовков и различные способы маркировки токена и полезных нагрузок, но я всегда получаю сообщение об ошибке, что API-токен не был предоставлен.

Код скрипта Google Apps:

function preshfinder() {
  var message = 'token=###' ; 
  var payloads = JSON.stringify(message);  
  var headers =  {'accept': 'application/json',
                              'Content-Type': 'application/x-www-form-urlencoded'
                            };
  var requestOptions = {    
             "ContentType" : "application/json",
             headers: headers,
             method: "POST",
             payload:  payloads, 
              followRedirects : true,
            };

            var fetcher = UrlFetchApp.fetch('https://api.textspaced.com/market/commodities', requestOptions)
             Logger.log(fetcher.getContentText());
}

1 Ответ

0 голосов
/ 27 января 2020
  • Вы хотите преобразовать следующую команду curl в Google Apps Script.

    curl -X POST \
    "https://api.textspaced.com/market/commodities/" \
    -H "accept: application/json" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -d "token=###"
    
  • Вы уже подтвердили, что вышеуказанная команда curl работает.

Если мое понимание правильное, как насчет этого ответа?

Точки модификации:

  • В вашей команде curl тип содержимого application/x-www-form-urlencoded. И данные отправляются в виде формы.
  • Значение по умолчанию followRedirects равно true.

Когда вышеуказанные точки отражены в вашем сценарии, как насчет следующей модификации?

Модифицированный скрипт:

function preshfinder() {
  var payloads = {token: "###"};  // Please set your token here.
  var headers = {
    'accept': 'application/json'
  };
  var requestOptions = {
    contentType: 'application/x-www-form-urlencoded',
    headers: headers,
    method: "POST",
    payload:  payloads,
  };
  var fetcher = UrlFetchApp.fetch('https://api.textspaced.com/market/commodities', requestOptions)
  Logger.log(fetcher.getContentText());
}

Ссылка:

Запрос выше модифицированный скрипт - то же самое с командой curl. Но я не могу это проверить. Так что, если это не решило вашу проблему, я прошу прощения.

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