Попытка использовать режим Dev с GAS doPOST - PullRequest
0 голосов
/ 15 января 2019

enter image description here

Я пытаюсь проверить функцию doPost скрипта моего приложения с почтальоном. пока что у меня есть:

function doPost(e) {

 var id = '1L_U7MhmV............................'
  SpreadsheetApp.openById(id).getSheetByName('responses').appendRow([new Date()]);
 var params = JSON.stringify(e.parameter);



 return ContentService.createTextOutput(JSON.stringify(e.parameter));
 }

Я могу заставить его работать со строкой / exec, но когда я пытаюсь использовать строку / dev, я не могу. Я получаю 500 ошибок. Я вошел в свой аккаунт и обновил номер версии при публикации. Как я могу заставить это работать?

EDIT:

Спасибо. Я пытаюсь вариант 1. Я создал функцию, которая записывает токен присяги:

function  getOAuthToken1() {    
  Logger.log('Current project has ' + ScriptApp.getOAuthToken());
}
  • Я запустил его и получил токен. Затем вставил его в

https://script.google.com/macros/s/ACCESSTOKEN/dev

но публикация этого сообщения:

Sorry, the file you have requested does not exist.

EDIT2:

enter image description here

1 Ответ

0 голосов
/ 15 января 2019

Если мое понимание верно, https://script.google.com/macros/s/ACCESSTOKEN/dev не может использоваться в качестве конечной точки. Пожалуйста, используйте исходную конечную точку https://script.google.com/macros/s/###/dev.

В качестве 2 примеров для простого теста, когда используется команда curl, примеры команд следующие. Вы можете выбрать один из них и протестировать на своем терминале. Обе команды используют метод POST.

curl -L -H "Authorization: Bearer ### access token ###" -d "key=value" "https://script.google.com/macros/s/#####/dev"

или

curl -L -d "key=value" "https://script.google.com/macros/s/#####/dev?access_token=### access token ###"
  • Чтобы получить доступ к конечной точке https://script.google.com/macros/s/###/dev развернутых веб-приложений, необходимо использовать токен доступа.
  • Заменить ### access token ### на значение, полученное ScriptApp.getOAuthToken().
  • Замените https://script.google.com/macros/s/#####/dev на конечную точку, полученную путем развертывания веб-приложений.
  • Я использовал -d "key=value" для метода записи. Если вы не хотите вводить значения, замените на -d "".

Примечание:

  • Если ошибка, связанная с областями действия, возникает при тестировании вышеуказанной команды, добавьте следующий комментарий. К этому добавляется область действия https://www.googleapis.com/auth/drive.
    • // DriveApp.getFiles();
    • После добавления, пожалуйста, запустите функцию getOAuthToken1() снова. Таким образом можно получить токен доступа, включая область действия.
...