我发现的所有与创建新文件并将新文件放入用户的 Google Drive 文件夹相关的文档都是通过用户上传文件并让 python 脚本使用 MediaFileUpload 收集文件并将其放入 Drive 中来实现的。
我想在我的 GAE 代码中创建一个新文件,然后将其放入。例如,我的代码在访问数据库后会呈现一个新的 XML 字符串,我想获取该字符串,使其成为一个文件并放入 Google Drive。
有人在做这样的事情吗?
我发现的所有与创建新文件并将新文件放入用户的 Google Drive 文件夹相关的文档都是通过用户上传文件并让 python 脚本使用 MediaFileUpload 收集文件并将其放入 Drive 中来实现的。
我想在我的 GAE 代码中创建一个新文件,然后将其放入。例如,我的代码在访问数据库后会呈现一个新的 XML 字符串,我想获取该字符串,使其成为一个文件并放入 Google Drive。
有人在做这样的事情吗?
您应该使用专门为此目的而设计的 MediaInMemoryUpload。您可以传递一个字符串和一个 MIME 类型。
media = MediaInMemoryUpload('some data', 'text/plain')
使用以下代码,内容是您要输入的字符串。您不必使用 MediaFileUpload 和 python 客户端库。
def update(content, file_id):
url = 'https://www.googleapis.com/upload/drive/v2/files/%s?uploadType=media' % file_id
headers = {
'Content-Type': 'text/plain',
'Content-Length': str(len(content)),
'Authorization': 'Bearer <oauth2 token>'
}
response = urlfetch.fetch(url, payload=content, method='PUT', headers=headers)
assert response.status_code == 200
return response.content