Api rest папка google drive не видна после создания с помощью nodejs - PullRequest
0 голосов
/ 15 февраля 2019

При создании папки через Google Api Rest я не вижу вновь созданную папку из консоли Google Drive.Код работает, он возвращает JSON со всеми данными только что созданных папок.

function createFolder(nameProduct,folderId){
    console.log("nome folder : "+nameProduct);
    console.log("id parent : "+folderId);
    var fileMetadata = {
        'name': nameProduct,
        'mimeType': 'application/vnd.google-apps.folder',
        parent : [folderId]
      };
      let objFolder = {
        auth: jwToken,
        resource: fileMetadata,
        fields: 'id'
      }
      return new Promise((resolve,reject)=>{

      drive.files.create(objFolder).then(function(response) {
        // Handle the results here (response.result has the parsed body).
        console.log("Response", response);
        resolve(response);
        },
        function(err) { 
          // handle error here.
          reject(err);
          console.error("Execute error", err);
         });
      });
    }


var jwToken = new google.auth.JWT(
  key.client_email,
  null,
  key.private_key, ["https://www.googleapis.com/auth/drive"],
  null
);
jwToken.authorize((authErr) => {
  if (authErr) {
    console.log("error : " + authErr);
    return;
  } else {
    console.log("Authorization accorded");
  }
});

Аутентификация работает нормально, я могу создать файл.У меня эта проблема только с папкой.Почему не видно на гугл диске?Метод вернет правильно идентификатор

1 Ответ

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

Вы используете сервисную учетную запись для аутентификации.Учетные записи службы являются фиктивными пользователями, у них есть собственная учетная запись Google Drive, учетная запись Google Calendar и, возможно, еще несколько.

Когда вы загрузили этот файл, он был загружен в учетную запись службы Google.Для служебной учетной записи нет веб-доступа, доступ к ней возможен только программно.

параметры: загрузить в свою учетную запись

Создать каталог на вашем диске GoogleУкажите общий доступ к этому каталогу с учетной записью службы и загрузите в этот каталог.

Опция: предоставьте общий доступ к каталогу учетных записей службы

Попросите учетную запись службы создать каталог, а затемдайте себе разрешение на каталог.После этого вы сможете увидеть этот каталог в своей учетной записи.

Примечание

Когда служебная учетная запись загружает файлы, владелец этого файла должен убедиться, что выпредоставьте себе права доступа к этим файлам, иначе вы не сможете получить к ним доступ.Да, в вашей учетной записи диска может быть файл, к которому у вас нет прав доступа.?

...