Как добавить значение в настраиваемое поле в Trello с помощью скриптов Google?

Используя скрипты Google и Trello API, у меня возникают проблемы с отправкой запроса на размещение, чтобы установить параметры в предварительно определенном настраиваемом поле Trello.

Это то, что Trello API предлагает для javascript, однако, поскольку я использую скрипты Google, я вынужден использовать класс Google "UrlFetchApp", как мне это сделать?

var url = "https://api.trello.com/1/cards/{idCard}/customField/{idCustomField}/item?token={yourToken}&key={yourKey}";
var data = {value: { number: "42" }};
fetch(url, { body: JSON.stringify(data), method: 'PUT', headers: {'content-type': 'application/json'}})
.then((resp) => resp.json()) //Error would occur here 
.then((data) => console.log(JSON.stringify(data, null, 2)))
.catch((err) => console.log(JSON.stringify(err, null, 2)))

https://developers.trello.com/reference#customfielditemsid

Если бы я попытался запустить этот пример в скриптах Google, я получил бы ошибку: Syntax error. (line 135, file "Code")

Итак, я попытался использовать URLFetchApp:

  var url = "https://api.trello.com/1/cards/" + cardId + "/customField/{customFieldIDHere}/item?token={TokenHere}&key={KeyHere}";
  var data = {value: { "text": "42" }};
  var payload = {"customField" : data};
  var options = {"method" : "put",
                  "payload" : payload};
  UrlFetchApp.fetch(url,options); //Error would occur here

https://developers.google.com/apps-script/reference/url-fetch

Но я получаю такую ​​ошибку: "Request failed for https://api.trello.com returned code 400. Truncated server response: Invalid value for custom field type"

Я также попытался сделать var mData = JSON.stringify(data); и использовать mData в параметрах, но, к сожалению, все равно получаю ту же ошибку


person StyleOver    schedule 04.11.2019    source источник
comment
Вместо того, чтобы добавлять эту информацию в комментарий, отредактируйте исходное сообщение.   -  person Sxribe    schedule 04.11.2019
comment
Могу я спросить вас о вашем вопросе? Ваш вышеупомянутый скрипт (Javascript) в вашем вопросе работает нормально?   -  person Tanaike    schedule 05.11.2019
comment
@Tanaike Пример из Trello API, использующий выборку, к сожалению, не работает. Скорее всего, он будет работать с любым другим компилятором javascript, но, поскольку я использую скрипты Google, я ограничен UrlFetchApp   -  person StyleOver    schedule 05.11.2019
comment
Спасибо за ответ. В вашей ситуации указанный выше сценарий (Javascript) в вашем вопросе не работает. Если я правильно понимаю, я думаю, что даже если сценарий конвертируется в Google Apps Script, он также не работает. Как насчет этого? Если я неправильно понял ваш вопрос, прошу прощения.   -  person Tanaike    schedule 06.11.2019
comment
@Tanaike Да, даже после преобразования в скрипт Google Apps это не сработало, однако я выяснил проблему и опубликовал ее в качестве ответа.   -  person StyleOver    schedule 06.11.2019
comment
Спасибо за ответ. Я рад, что ваша проблема решена.   -  person Tanaike    schedule 06.11.2019


Ответы (1)


Проблема заключалась в том, что мне не нужно было var = {customField" : data} Вместо этого все, что мне нужно было сделать, это:

var options = {
  "method" : "put",
  "payload" : JSON.stringify(data),
  "contentType": "application/json"
};
person StyleOver    schedule 06.11.2019