Gmail Api可恢复附件。 (其他)

问题描述:

有没有人有任何Gmail Api可恢复上传的示例(用于附件)。我成功地使用主要上传附件高达5 MB,但我想发送超过30 MB的附件。我不能使用Gmail的一切都需要在休息任何建议吗?Gmail Api可恢复附件。 (其他)

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