2012-07-04 78 views
5

所有的文檔,我發現與創建一個新的文件,並把新的文件在用戶的谷歌雲端硬盤文件夾與實現創建新文件用戶上傳文件並讓python腳本使用MediaFileUpload來收集文件並將其放入Drive。谷歌雲端硬盤API V2,巨蟒 - 而不上傳新文件,並沒有使用谷歌驅動器UI

我要創造我的GAE代碼的新文件,並把那個。例如,我的代碼在點擊數據庫後呈現一個新的XML字符串,我想將該字符串作爲文件並放入Google Drive。

任何有這樣的工作?

回答

4

您應該使用MediaInMemoryUpload代替,這是專爲這個確切的目的。您可以傳遞一個字符串和一個MIME類型。

media = MediaInMemoryUpload('some data', 'text/plain') 
+0

DEPRECATED:將MediaIoBaseUpload與io.TextIOBase或StringIO一起用於流。 http://google.github.io/google-api-python-client/docs/epy/index.html – intotecho

1

使用下面的代碼,內容是你打算把字符串。您不必使用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 
+0

工作原理如果1.您不需要添加元數據,例如描述,以及2.使用文件<= 2MB大小。 –

+0

是的,如果您想添加元數據,請在調用此函數之前發佈元數據以創建新文件;或POST多部分機構上傳包含元數據的文件。 (但我還沒有取得成功。) – Takahiro

+0

eric.f,你在做這個:https://developers.google.com/drive/manage-uploads#using_multipart_upload –

相關問題