Как получать новые сообщения, используя gmail api - PullRequest
0 голосов
/ 08 апреля 2019

Я пишу расширение для браузера Google Chrome.Он использует gmail-api, и я хочу получать входящие сообщения, приходящие на адрес электронной почты пользователя, который вошел в систему. Как реализовать это в фоновом скрипте с точки зрения кода.Я знаю, что в gmail api используются почтовые запросы, например watcsh, тогда я не знаю, как реализовать код, чтобы я мог видеть сообщения, поступающие в режиме реального времени, и мой фоновый скрипт обновлялся во время этого события.

Мое приложение использует методы извещений, и, соответственно, в документации сказано, что я должен использовать такие запросы, как https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.subscriptions/pull https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.subscriptions/acknowledge

Как я могу использовать все это в своем коде, чтобы мойСценарий постоянно обновляется, когда я получаю новое сообщение, и возможно ли это даже в javascript?

function POST_request(method,url,_async,params)
{
    let xhr= new XMLHttpRequest();
    xhr.open(method,url,_async);
    xhr.setRequestHeader('Authorization', 'Bearer ' + current_token);
    xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
    xhr.send(JSON.stringify(params));
    return(xhr.responseText);
}

let tmp={
            "topicName":"projects/myprofect/topics/mytopic",
            "labelFilterAction":"include",
            "labelIds": ["INBOX"]
        };
        console.log(POST_request("POST","https://www.googleapis.com/gmail/v1/users/me/watch",false,tmp));

Этот запрос работает, возвращая тело представления

{
 "historyId": "678576",
 "expiration": "1555318376357"
}
...