Попытка использовать режим Dev с GAS doPOST

Я пытаюсь проверить функцию 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 ошибок. Я вошел в свой аккаунт и обновил номер версии при публикации. Как я могу заставить это работать?

РЕДАКТИРОВАТЬ:

Спасибо. Я пытаюсь вариант 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:

1 ответ

Решение
  • Вы хотите использовать doPost() и доступ к веб-приложениям с конечной точкой https://script.google.com/macros/s/###/dev,

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

В качестве двух примеров для простого теста, когда используется команда 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() снова. Посредством этого можно получить токен доступа, включая область действия.
Другие вопросы по тегам