Google Drive API: как мне перечислить все файлы в общей папке? - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть учетная запись службы Google, и она успешно загружает файлы в общую папку (т. Е. Я создал папку с обычной учетной записью Google, поделился ею с учетной записью службы и загрузил файлы в эту общую папку).

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

Я делаю:

  // ? does not work
  const results = await drive.files.list({
    corpora: 'allDrives', // just in case, don't know if this makes a difference
    includeItemsFromAllDrives: true,
    supportsAllDrives: true,
  });

  console.log(results.data.files);

с узлом SDK 48 (т. Е. "googleapis": "^48.0.0")


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

1 Ответ

1 голос
/ 01 апреля 2020

OMG Я понял это после того, как некоторое время ударился головой о стену.

У меня было это:

  const client = await google.auth.getClient({
    credentials: {/* ... */},
    //                                     ? WRONG ?
    scopes: 'https://www.googleapis.com/auth/drive.file',
  });

Просто замените прицел на это:

  const client = await google.auth.getClient({
    credentials: {/* ... */},
    //                              ✅ Correct ?
    scopes: 'https://www.googleapis.com/auth/drive',
  });

Я не уверен, что расширение области - это именно то, что вам нужно, но, похоже, эта проблема связана с областями видимости, поэтому, если у вас возникла эта проблема, начните с нее .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...