有谁知道在哪里可以找到上传本地文件和使用MediaFileUpload获取内容的完整示例代码?
我真的需要看到用于发布的HTML表单和接受它的代码。我把头发拉了出来,到目前为止只得到了部分答案。
谢谢!
答案 0 :(得分:19)
我在试图找出谷歌API示例中的“MediaFileUpload”来源时发现了这个问题,我最终弄明白了。这是一个更完整的代码示例,我用它来测试Python 2.7。
您需要一个JSON凭据文件才能使用此代码。这是您从Google app / project / thing获得的凭据文件。
您还需要上传文件,我在示例中使用“test.html”。
from oauth2client.service_account import ServiceAccountCredentials
from apiclient.discovery import build
from apiclient.http import MediaFileUpload
#Set up a credentials object I think
creds = ServiceAccountCredentials.from_json_keyfile_name('credentials_from_google_app.json', ['https://www.googleapis.com/auth/drive'])
#Now build our api object, thing
drive_api = build('drive', 'v3', credentials=creds)
file_name = "test"
print "Uploading file " + file_name + "..."
#We have to make a request hash to tell the google API what we're giving it
body = {'name': file_name, 'mimeType': 'application/vnd.google-apps.document'}
#Now create the media file upload object and tell it what file to upload,
#in this case 'test.html'
media = MediaFileUpload('test.html', mimetype = 'text/html')
#Now we're doing the actual post, creating a new file of the uploaded type
fiahl = drive_api.files().create(body=body, media_body=media).execute()
#Because verbosity is nice
print "Created file '%s' id '%s'." % (fiahl.get('name'), fiahl.get('id'))
可在“body”哈希中使用的有效Mime类型列表 https://developers.google.com/drive/v3/web/mime-types
MediaFileUpload的有效mimetype字符串列表(他们将尝试将您的文件转换为您在此放置的任何内容):
答案 1 :(得分:0)
您不需要自己发布JSON,客户端库会为您处理。
我们已提供完整的代码示例,可在此处找到:https://github.com/gsuitedevs/python-samples
您还可以查看包含Python示例的file.insert参考文档:https://developers.google.com/drive/v2/reference/files/insert
如果这不符合您的要求,您可以更详细地解释您想要实现的目标和当前的架构。
答案 2 :(得分:0)
Python 2.7,可恢复上传。
https://github.com/googleapis/google-api-python-client/blob/master/docs/media.md
$ repo forall -pc "git status -sb"
...
project <project1 root dir>/
## feature/feature_release...origin/feature/feature_release [ahead 1]
project <project2 root dir>/
## HEAD (no branch)
project <project3 root dir>/
...