Google drive Query with Python - PullRequest
       7

Google drive Query with Python

0 голосов
/ 10 октября 2018

Я хотел бы запросить (используя Python) список файлов из определенной папки на диске Google.Я использовал следующий код.Он возвращает список файлов для всех файлов для всех папок, но я не могу получить список для определенной папки.Может кто-нибудь помочь?Спасибо!

from __future__ import print_function
import time
from apiclient import discovery
from httplib2 import Http
from oauth2client import file, client, tools

SCOPES = 'https://www.googleapis.com/auth/drive.readonly.metadata'
store = file.Storage('storage.json')
creds = store.get()
if not creds or creds.invalid:
flow = client.flow_from_clientsecrets('client_secret.json', SCOPES)
creds = tools.run_flow(flow, store)

DRIVE = discovery.build('drive', 'v3', http=creds.authorize(Http()))
file_service = DRIVE.files()
files = file_service.list().execute().get('files', [])
for f in files:
file_shared = (file_service.get(fileId=f['id'], fields="name, 
shared").execute())

# Only display files that are shared
if file_shared['shared']:
    print(file_shared['name'], f['id'])
    #for f in file_shared:
    #   print('title: %s, id: %s' % (f['title'], f['id']))

# Sleep 1/10 of a second between every API call, otherwise
# you will exceed the number of calls allowed
time.sleep(.100)

1 Ответ

0 голосов
/ 11 октября 2018

Как насчет этой модификации?

Точка модификации:

  • Чтобы получить список файлов в определенной папке, используйте q для file_service.list().

Модифицированный скрипт:

Пожалуйста, измените его следующим образом.

С:
files = file_service.list().execute().get('files', [])
Кому:
files = file_service.list(q="'### folderId ###' in parents").execute().get('files', [])
  • ### folderId ### - идентификатор папки.

Ссылка:

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