这里使用带有Python的Google Drive API将文件上传到Google Drive,如何获取上传文件的链接。
我尝试了print (res['exportLinks'])
,但它给了我这个错误。
KeyError:'exportLinks'
完整的python代码
#!/usr/bin/env python
from __future__ import print_function
import os
from apiclient import discovery
from httplib2 import Http
from oauth2client import file, client, tools
SCOPES = 'https://www.googleapis.com/auth/drive'
store = file.Storage('storage.json')
creds = store.get()
if not creds or creds.invalid:
flow = client.flow_from_clientsecrets('client_secrets.json', SCOPES)
creds = tools.run_flow(flow, store)
DRIVE = discovery.build('drive', 'v2', http=creds.authorize(Http()))
FILES = (('hello.txt', False),)
for filename, convert in FILES:
metadata = {'title': filename}
res = DRIVE.files().insert(convert=convert, body=metadata,
media_body=filename, fields='mimeType,exportLinks').execute()
if res:
print (res['exportLinks'])
是否有其他替代方法可以做到这一点。
提前谢谢。
答案 0 :(得分:1)
我发现了this page,它说您可以通过调用file.get('id')
来获取上载文件的ID-在您的情况下为res.get('id')
。
尝试此代码
# ...
res = DRIVE.files().insert(convert=convert, body=metadata,
media_body=filename, fields='mimeType,exportLinks,id').execute() # <-- EDIT: added id here
print('Uploaded file to {url}'.format(url='https://drive.google.com/open?id=' + res.get('id')))