在此代码中:
file_id = '0BwwA4oUTeiV1UVNwOHItT0xfa2M'
request = drive_service.files().get_media(fileId=file_id)
fh = io.BytesIO()
downloader = MediaIoBaseDownload(fh, request)
done = False
while done is False:
status, done = downloader.next_chunk()
print "Download %d%%." % int(status.progress() * 100)
我不知道如何获取file_id,我在上传时收到了file_id,但现在我无法弄清楚如何获取Google云端硬盘中存在的文件的file_id。
实施例。如果我上传的文件名称为A001002.pdf,我该如何获取该文件的文件ID。 网上有一些我无法理解的参考资料。
link:files.list
任何帮助?
答案 0 :(得分:1)
file.list方法包含一个q参数,用于搜索
获取https://www.googleapis.com/drive/v3/files?q=name+%3D+'你好'& key = {YOUR_API_KEY}
Python猜猜
"""
Shows basic usage of the Drive v3 API.
Creates a Drive v3 API service and prints the names and ids of the last 10 files
the user has access to.
"""
from __future__ import print_function
from apiclient.discovery import build
from httplib2 import Http
from oauth2client import file, client, tools
# Setup the Drive v3 API
SCOPES = 'https://www.googleapis.com/auth/drive.metadata.readonly'
store = file.Storage('credentials.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)
service = build('drive', 'v3', http=creds.authorize(Http()))
# Call the Drive v3 API
results = service.files().list(
pageSize=10, fields="*").execute()
items = results.get('files', [])
if not items:
print('No files found.')
else:
print('Files:')
for item in items:
print('{0} ({1})'.format(item['name'], item['id']))
请注意,此示例未显示如何添加其他参数我仍然使用Google搜索,但我不是python开发者,您可能比我更了解如何执行此操作。
答案 1 :(得分:0)
根据您的实现,还有另一种选择。如果您不需要以编程方式获取fileID,则只需从浏览器中在google文档中打开文件,该ID就会显示在网址中。