发送电子邮件时使用 gmail api 调用脚本
Calling a script with gmail api when an email is sent
我们有一个销售团队使用 gmail 向他们的客户发送电子邮件。我们希望能够将这些电子邮件记录到我们的内部系统,我想知道 gmail api 中是否有任何内容允许在发送电子邮件时调用某些脚本?如果是这样,是否有此功能的示例代码?
大概有几种方法可以实现,但是我自己使用的步骤如下:
列出 SENT 文件夹中的邮件并仅要求最多 1 个结果的 id(将为您提供最近发送的):
GET https://www.googleapis.com/gmail/v1/users/me/messages?labelIds=SENT&fields=messages%2Fid&maxResults=1&key={YOUR_API_KEY}
响应:
{
"messages": [
{
"id": "1234"
}
]
}
获取表示此邮件发送时间点的 historyId:
GET https://www.googleapis.com/gmail/v1/users/me/messages/14e6525456e7c793?fields=historyId&key={YOUR_API_KEY}
响应:
{
"historyId": "123456"
}
每隔一定时间查看历史记录,只查看SENT标签下添加的消息,如果响应中有,则在后续请求中使用新的historyId:
GET https://www.googleapis.com/gmail/v1/users/me/history?labelId=SENT&fields=history%2FmessagesAdded%2ChistoryId&startHistoryId=500446&key={YOUR_API_KEY}
响应:
{
"history": [
{
"messagesAdded": [
{
"message": {
"id": "135674567",
"threadId": "2342456432",
"labelIds": [
"SENT",
"INBOX",
"UNREAD",
"IMPORTANT"
]
}
}
]
}
],
"historyId": "12233445" //Use this in subsequent request!
}
我们有一个销售团队使用 gmail 向他们的客户发送电子邮件。我们希望能够将这些电子邮件记录到我们的内部系统,我想知道 gmail api 中是否有任何内容允许在发送电子邮件时调用某些脚本?如果是这样,是否有此功能的示例代码?
大概有几种方法可以实现,但是我自己使用的步骤如下:
列出 SENT 文件夹中的邮件并仅要求最多 1 个结果的 id(将为您提供最近发送的):
GET https://www.googleapis.com/gmail/v1/users/me/messages?labelIds=SENT&fields=messages%2Fid&maxResults=1&key={YOUR_API_KEY}
响应:
{
"messages": [
{
"id": "1234"
}
]
}
获取表示此邮件发送时间点的 historyId:
GET https://www.googleapis.com/gmail/v1/users/me/messages/14e6525456e7c793?fields=historyId&key={YOUR_API_KEY}
响应:
{
"historyId": "123456"
}
每隔一定时间查看历史记录,只查看SENT标签下添加的消息,如果响应中有,则在后续请求中使用新的historyId:
GET https://www.googleapis.com/gmail/v1/users/me/history?labelId=SENT&fields=history%2FmessagesAdded%2ChistoryId&startHistoryId=500446&key={YOUR_API_KEY}
响应:
{
"history": [
{
"messagesAdded": [
{
"message": {
"id": "135674567",
"threadId": "2342456432",
"labelIds": [
"SENT",
"INBOX",
"UNREAD",
"IMPORTANT"
]
}
}
]
}
],
"historyId": "12233445" //Use this in subsequent request!
}