2017-08-08 96 views
0

有沒有人有任何Gmail Api可恢復上傳的示例(用於附件)。我成功地使用主要上傳附件高達5 MB,但我想發送超過30 MB的附件。我不能使用Gmail的一切都需要在休息任何建議嗎?Gmail Api可恢復附件。 (其他)

回答

0

Gmail的API Resumable Upload

使用可恢復上傳的步驟包括:

第1步:啓動可恢復會話

要啓動可恢復上傳,做一個POST或PUT請求方法的/上傳URI並添加查詢參數uploadType = resumable,例如:

POST https://www.googleapis.com/upload/gmail/v1/users/userId/messages/send?uploadType=resumable 

對於此啓動請求,主體要麼是空的,要麼僅包含元數據;您將在隨後的請求中傳輸您想要上傳的文件的實際內容。

第2步:保存續傳工作階段URI

如果會話發起請求成功,API服務器會返回200 OK HTTP狀態代碼響應。另外,它提供了一個Location頭,用於指定您的可恢復會話URI。下面的示例中顯示的位置標頭包含一個upload_id查詢參數部分,該參數部分提供了用於此會話的唯一上載ID。

實施例:可恢復會話發起響應

這裏是在步驟1中對所述請求的響應:

HTTP/1.1 200 OK 
Location: https://www.googleapis.com/upload/gmail/v1/users/userId/messages/send?uploadType=resumable&upload_id=xa298sd_sdlkj2 
Content-Length: 0 

步驟3:將文件上傳

要上載文件,發送在上一步中獲得的上傳URI的PUT請求。上傳請求的格式爲:

PUT session_uri 

完整代碼實現示例位於文檔中。

+0

在步驟1中,當我做一個帖子上我得到一個錯誤'[ 「錯誤」:{ 「錯誤」: { 「域」: 「全局」, 「理由」: 「badContent」, 「消息」:「不支持媒體類型'application/octet-stream'有效媒體類型:[message/rfc822]」 } ], 「code」:400, 「message」:「Media type」application/octet-stream'不支持。有效的媒體類型:[message/rfc822]「 }']'請求正文爲空,授權標頭爲Bearer my_ath_token。 @noogui – kostas

+0

你上傳的文件不被支持,對我來說很清楚 – noogui

+0

該文件應該在Raw中嗎?我的意思是base64編碼的rfc822應該在Raw內?當我嘗試發送超過5 MB的文件時,RAW內的編碼文件變得巨大。你可以給我和在base64編碼之前的附件格式的例子嗎? @noogui – kostas