我们需要在我们的项目中从谷歌客户端库切换到Gmail REST API,我遇到了batch()的问题,因为它在REST API中不可用 - 你只能得到消息的ID列表然后使用它的id逐个获取每条消息。 如果我们使用那个gmail库,一切似乎都很清楚。我们创建一个批处理对象,然后在其中对每个GET请求进行排队。我们不必关心它是如何在里面实现的。 目前我正在尝试做一些POC而我正在测试这些建议https://developers.google.com/gmail/api/guides/batch 与邮差,但没有运气..
我收到了400个不良请求。 如何在Postman(或其他应用程序)中使用正确的请求主体? 下一步将使用Java实现多部分请求并使用RestTemplate发送POST,但我需要首先在Postman中提供一些POC。
我在此屏幕截图中设置了它 - > Postman
我做错了什么?:)
答案 0 :(得分:6)
你很亲密。这是一个有效的例子:
请求强>
POST https://www.googleapis.com/batch
Content-Type: multipart/mixed; boundary="foo_bar"
Authorization: Bearer {ACCESS_TOKEN}
--foo_bar
Content-Type: application/http
GET /gmail/v1/users/me/messages/152d10540c21bd07
--foo_bar
Content-Type: application/http
GET /gmail/v1/users/me/messages/152d1050d666d7ad
--foo_bar--
<强>响应强>
--batch_7Xp52oGIwpA_AAEAc7ERnGU
Content-Type: application/http
HTTP/1.1 200 OK
ETag: "A-DdBGA6g-wV4rIZCu5Hcm3JQpY/w2hzEg9kqXFH7AEJ-oSc-y10HNQ"
Content-Type: application/json; charset=UTF-8
Date: Thu, 11 Feb 2016 16:02:06 GMT
Expires: Thu, 11 Feb 2016 16:02:06 GMT
Cache-Control: private, max-age=0
Content-Length: 2809
{
"id": "152d10540c21bd07",
"threadId": "152d1050d666d7ad",
"labelIds": [
"SENT",
"INBOX",
"IMPORTANT"
],
"snippet": "Likewise buddy.", ...
}
--batch_7Xp52oGIwpA_AAEAc7ERnGU
Content-Type: application/http
HTTP/1.1 200 OK
ETag: "A-DdBGA6g-wV4rIZCu5Hcm3JQpY/7v2nqQFBDmEHVvEQoboiwSidilE"
Content-Type: application/json; charset=UTF-8
Date: Thu, 11 Feb 2016 16:02:06 GMT
Expires: Thu, 11 Feb 2016 16:02:06 GMT
Cache-Control: private, max-age=0
Content-Length: 1752
{
"id": "152d1050d666d7ad",
"threadId": "152d1050d666d7ad",
"labelIds": [
"SENT",
"INBOX",
"IMPORTANT"
],
"snippet": "Nice to meet you.", ...
}
--batch_7Xp52oGIwpA_AAEAc7ERnGU--
您不必在批处理的每个部分中指定主机,并且在授权标头中提供访问令牌就足够了。您不必自己指定内容长度,也不要忘记用"
包裹边界字符串。
然后你只需要解析每个部分的JSON就可以了。
答案 1 :(得分:3)
只是想说Lucila的答案现在是正确的-现在不建议使用全局(https://www.googleapis.com/batch
)端点,并且您必须向特定于请求的端点(https://www.googleapis.com/batch/gmail/v1
发出发布请求gmail)。
有关其他上下文,请参见this link。
很抱歉为此提出新的答案,我没有足够的声誉发表评论。
答案 2 :(得分:2)
%
。library(RXKCD)
library(stringr)
searchXKCD("health")
getXKCD(574)
tweets <- getXKCD(574)
tweets$transcript # This is the string I want to parse.
cols <- str_extract_all(tweets$transcript, "[A-Za-z]+") # I know how to pull out the words separated, but that's not what I want to do.
# just because
freq <- table(cols)
plot(freq)
标头上边界附近的gmail/v1
。请参阅原始批处理Gmail请求文档:https://developers.google.com/gmail/api/guides/batch
以下内容对我有用:
"