Невозможно загрузить файл с помощью Googleapis на Google Drive - PullRequest
0 голосов
/ 01 июня 2019

У меня проблема с загрузкой файлов на диск Google с использованием пакета googleapis (v.40):

В моем веб-приложении (написанном на Vue js) мне нужно загрузить файл изображения пользователя "A" в пространство на диске Google пользователя "B", используя googleapis.

Для этого я создал «учетную запись службы» из консоли консоли Google (пользователя B) и сгенерировал credentials.json для доступа к API. (JWToken, сервис-сценарий)

В моем веб-приложении после получения AccessToken с помощью учетных данных json учетной записи службы я готов загрузить файл. Но когда я вызываю api drive.files.create (...), я получаю следующую ошибку:

Недопустимый составной запрос с 0 частями MIME.

Вот код:

... 

// get google api
const {google} = require("googleapis");
const drive      = google.drive("v3");

// get authorization token
let authToken = await getAuthToken() // it perfectly works
console.log(authToken)

let metadata = {
   name: name,
   parents: [idOfTheParentFolder]
}

let media = {
   mimeType: 'image/jpeg',
   body: file
}

let objImage = {
   auth: authToken,
   resource:metadata,
   media: media,
   fields: 'id',
}

drive.files.create(objImage, function (error, success) {
  if (!error) {
      ...
  }
  else{
    // here i got the error in question
  }
})

Я пробовал именно этот код в js-файле с одним узлом, и он отлично работает, но не работает в приложении Vue веб-браузера.

Позвольте мне сначала сказать, что API для отображения файлов (drive.files.list ()) и API для создания папки (drive.files.create ()) они прекрасно работают в моем веб-приложении.

Есть предложения?

...