如何将用于gmail的批处理api用于列出gmail?

时间:2019-09-12 04:36:25

标签: google-api gmail-api batch-request

想要批量列出商品,可以将每个邮件的发件人和标题以及其与gmail API一同发送。如何提出批量请求?是否可以使用邮递员发出批处理请求?

作为批处理请求的一部分,如何请求批处理请求?

如何将批处理请求用于上述要求的端点?

As part of batch request as per google doc ,
POST /batch/farm/v1 HTTP/1.1
Authorization: Bearer your_auth_token
Host: www.googleapis.com
Content-Type: multipart/mixed; boundary=batch_foobarbaz
Content-Length: total_content_length

--batch_foobarbaz
Content-Type: application/http
Content-ID: <item1:12930812@barnyard.example.com>

GET /farm/v1/animals/pony

--batch_foobarbaz
Content-Type: application/http
Content-ID: <item2:12930812@barnyard.example.com>

PUT /farm/v1/animals/sheep
Content-Type: application/json
Content-Length: part_content_length
If-Match: "etag/sheep"

{
  "animalName": "sheep",
  "animalAge": "5"
  "peltColor": "green",
}

--batch_foobarbaz
Content-Type: application/http
Content-ID: <item3:12930812@barnyard.example.com>

GET /farm/v1/animals
If-None-Match: "etag/animals"

--batch_foobarbaz--

按照我的要求,我不知道如何修改文档请求?

1 个答案:

答案 0 :(得分:1)

  

如何提出批量请求?

使用批处理端点Batching

  

是否可以使用邮递员进行批处理请求?

是的,邮递员可以处理此呼叫。但是您将不得不手动创建考虑要包含100个请求的主体,这将非常耗时并且容易出错IMO。

  

作为批处理请求的一部分,如何请求批处理请求?

通过发送HTTP帖子,其中正文包含您要为其请求数据的每个单个请求。

  

如何将批处理请求用于上述要求的端点?

您可以使用邮递员或任何其他可以处理http帖子调用的编程语言来做到这一点。

正文中的每一行GET /farm/v1/animals都包含您希望向api发出的请求,就像users/me/messages/1一样。

您将需要给用户打电话message.list首先获取要获取其信息的所有消息ID的列表。然后建立对user.messages的批处理请求,以获取并请求每条消息。批处理并不意味着您不需要为每个消息发送一个get请求,批处理只是节省了通过发送每个get请求进行的额外http调用。

POST /batch/gmail/v1 HTTP/1.1
Authorization: Bearer your_auth_token
Host: www.googleapis.com
Content-Type: multipart/mixed; boundary=batch_foobarbaz
Content-Length: total_content_length
Accept-Encoding: application/gzip

--batch_foobarbaz
Content-Type: application/http


GET gmail/v1/users/me/messages/16d24956228a98c4
Accept: application/json; charset=UTF-8

--batch_foobarbaz
Content-Type: application/http


GET gmail/v1/users/me/messages/16d24956228a98c4
Accept: application/json; charset=UTF-8

--batch_foobarbaz--