Невозможно получить родителей файла Google Диска, используя ключ API - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь переместить файл Google Диска (Лист Google / Документ Google) с Shared Team Drive на другой Shared Drive, но моей учетной записи службы не удается получить файл поданных родителей с версии 3.

IЯ проверил с помощью Playground и заметил, что поле "parent" возвращается только тогда, когда вы прошли проверку подлинности с помощью Google OAuth 2.0, НО НЕ при использовании API-ключа (или в моем случае файла авторизации службы).

https://developers.google.com/drive/api/v3/reference/files/get

снимок экрана родителей

снимок экрана родителей отсутствует

Работает нормально с My Drive, но не при возвращении родителей дляФайлы общего диска.

 // My Google Client is initialised
 const googleClient = new google.auth.JWT(
   privatekey.client_email,
   null,
   privatekey.private_key,
   ['https://www.googleapis.com/auth/spreadsheets',
     'https://www.googleapis.com/auth/drive',
     'https://www.googleapis.com/auth/calendar']
 );

 // Google Drive v3
 const googleDrive = google.drive({
   version: 'v3',
   auth: googleClient
 });

 // Getting File details
 const file = googleDrive.files.get({
   fileId,
   fields: '*',
   supportsTeamDrives: true
 });

Можете ли вы помочь мне с любыми идеями или объяснить разницу в ответах API?

1 Ответ

0 голосов
/ 07 ноября 2019

Ключи API получают свои разрешения на основе разрешений проекта (и других настроек в облачной консоли).

OAuth аутентифицируется как текущий пользователь и может получать доступ к API-интерфейсам так же, как и этот пользователь.

Подробнее об этом можно прочитать здесь .

. В этом случае функция Try It не имеет ключа API, способного получить доступ к методам, которые вы пытаетесь выполнить.

Надеюсь, это поможет!

...