Я пытаюсь использовать Google API NodeJS client для загрузки сценария Google Apps на свой диск. Я следую указаниям в документах, но когда файл загружается на мой диск, я могу загрузить его только как обычный текст, а не как скрипт приложений.Как загрузить скрипт Google Apps с помощью API-интерфейсов Google (NodeJS)
function uploadAppScript(auth) {
return new Promise(function(resolve, reject) {
var drive = google.drive('v3')
drive.files.create({
auth: auth,
resource: {
name: 'myscript',
mimeType: 'application/vnd.google-apps.script'
},
media: {
mimeType: 'text/plain',
body: fs.createReadStream('src/myscript.gs')
},
}, function(err, result){
... //not relevant
})
})
}
media uploads часть README не определяет, как загрузить что-либо иное, чем PNG.
Если изменить mimeType
в media
объекта к чему-либо, кроме text/plain
я получаю следующее (неинформативное) ошибка:
code: 400,
errors:
[ { domain: 'global',
reason: 'badRequest',
message: 'Bad Request' } ] }
Любые идеи о том, как получить Drive признать это как Apps Script и не простой текстовый файл? Или это что-то сломалось на конце клиента NodeJS?
взглянуть на 'sendToGoogle' функции в * узле-Google-приложений-скрипт *, в [' upload.js'] (https://github.com/danthareja/node-google-apps-script/blob/master/lib/commands/upload.js). Он использует Drive v2, но должен дать некоторые варианты. – Bardy
@ Bardy попробовал кучу комбинаций типов MIME на основе этого файла, но все же получил тот же код ошибки 400. Я думаю, мне может потребоваться загрузить его в качестве google-doc, а затем преобразовать его в скрипт google-app. Я собираюсь попробовать это сейчас. – Brodan