2015-07-06 3 views
1

У нас есть команда продаж, которая использует gmail для отправки электронных писем своим клиентам. Мы хотели бы иметь возможность регистрировать эти письма в нашей внутренней системе, и я задавался вопросом, есть ли что-нибудь в gmail api, что позволит вызвать какой-либо скрипт при отправке электронного письма? Если да, есть ли какой-либо пример кода для этой функции?Вызов скрипта с gmail api при отправке письма

+2

Вы можете использовать [Push Notifications] (https://developers.google.com/gmail/api/guides/push), чтобы подписаться на изменения в посланных этикетки вашей команды. Это должен быть код, который запускается на ваших собственных серверах, но тогда вам легко запустить любой скрипт, который вы хотите. – abraham

ответ

0

Есть, вероятно, несколько способов достижения этой цели, но шаги, которые я сам использую следующий:

Списка сообщение в присланной-папке и попросить только ид максимум 1 результата (будет дать вам самое последнее пересылаются):

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! 
} 
+0

Благодарим вас за этот пример кода. Но я не понимаю, как этот скрипт вызывается, когда он нажимает кнопку отправки? –

+0

На самом деле после копания немного больше я вижу раздел push в конфигурации приложения. Я предполагаю, что это возможно? –

+0

Это не вызвано, когда они нажимают «отправить» к сожалению :(Он требует, чтобы вы проверяли учетные записи членов вашей команды продаж на заданный интервал. – Tholle

Смежные вопросы