2016-04-15 89 views
0

我一直在關注Drive API V3 Resumable Uploads Docs,併成功上傳帶有Resumable會話的新文件。首先發送POST請求到「https://www.googleapis.com/upload/drive/v3/files」,並指定所有標頭正確指定(Content-type:「application/json; charset = UTF-8」以將元數據發送爲json),然後從Response Header「Location」中檢索Session URI,然後將會話URI的PUT請求以文件內容作爲主體。使用uploadType Resumable更新Google Drive API V3中的現有文件內容

我試圖按照文檔給出的提示更新當前驅動器文件的數據,但這很混亂。引用文檔:

如果請求成功,服務器將響應創建的HTTP 201以及與此資源關聯的任何元數據。如果可恢復會話的初始請求是PUT,則更新現有資源時,成功響應將爲200 OK,以及與此資源關聯的任何元數據。

我送獲取會話URI是請求:

PUT /upload/drive/v3/files/{fileID}?uploadType=resumable HTTP/1.1 
Host: www.googleapis.com 
Authorization: Bearer {authToken} 
Content-Type: application/json; charset=UTF-8 
X-Upload-Content-Type: {FileToBeSent-Content-Type} 
X-Upload-Content-Length: {FileToBeSent-Content-Length} 

{ "name" : "myfile.ext"} 

但我得到的迴應是「未找到」,有沒有辦法讓一個可恢復會話URI的現有文件?我是否正確發送了FileID,還是應該對會話URI的第二個請求執行?

回答

0

引述文檔Migrate to Google drive API v3

所有更新操作現在使用的,而不是PUT

因此,這是怎樣一個可恢復上傳到現有的文件應該在V3進行PATCH:

首先對文件網址的修補請求:

PATCH /upload/drive/v3/files/{fileID}?uploadType=resumable HTTP/1.1 
Host: www.googleapis.com 
Authorization: Bearer {authToken} 
Content-Type: application/json; charset=UTF-8 
X-Upload-Content-Type: {FileToBeSent-Content-Type} 
X-Upload-Content-Length: {FileToBeSent-Content-Length} 

{ "name" : "myfile.ext"} 

然後按照文檔中的說明進行操作,從響應中檢索會話URI並通過PUT將文件發送給它。

+0

嗨路易斯,我能夠成功上傳到谷歌驅動器的文件,但上傳的文件中缺少名稱和描述等元數據信息。 第1步:https://drive.google.com/file/d/0BzM1YeSBEPCuTDNvUENKQjRicVE/view?usp=sharing 第1步反應:https://drive.google.com/file/d/0BzM1YeSBEPCuZ293ZkVaTzhjdG8/view? USP =共享 第2步:https://drive.google.com/file/d/0BzM1YeSBEPCueDA5YThRQkNCUnM/view?usp=sharing 第2步反應:https://drive.google.com/file/d/0BzM1YeSBEPCuSzVPUUNtQ3ZhZzQ/view?usp = sharing 真的很有幫助,如果你能提供一些建議。謝謝! –

相關問題