Как получить данные SSE через PHP один раз (не фактические push-уведомления)? - PullRequest
1 голос
/ 01 мая 2019

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

Поскольку у них нет RSS-уведомлений, я спросил людей из Тутаноты. В конце концов они сказали мне, что единственный способ - это использовать «SSE» (события на стороне сервера), для которого они предоставляют конечную точку по адресу:

https://mail.tutanota.com/sse

В своем коде они имеют:

const url = sseInfo.sseOrigin + "/sse?_body=" + requestJson(sseInfo)

Таким образом, мне нужно сделать запрос GET или POST на https://mail.tutanota.com/sse с заполнением "_body" для любого значения "sseInfo". Глядя больше на их код, я смог построить эту структуру PHP, которую нужно будет отправить:

$JSON_data = 
[
    '_format' =>        '0',
    'identifier' =>     '123',
    'userIds' =>        [ "_id" => '123', "value" => '2323' ]
];

Согласно Tutanota, «Идентификатор вместе с userId используется для аутентификации вас».

Насколько я понимаю, нужно что-то сделать, чтобы получить «идентификатор» и «идентификатор пользователя» (не уверен, почему каждый идентификатор пользователя, по-видимому, является массивом с «_id» и «значением» ...), что затем отправляется на конечную точку SSE, которая затем возвращает BLOB-объект JSON с нужными данными.

Так что мне нужно выяснить, как получить «идентификатор» и «идентификатор пользователя». АКА "sseInfo". Я посмотрел на несколько доступных библиотек SSE в PHP, но они меня очень смущают и просто заставляют меня глядеть. Я действительно не хочу привлекать библиотеку, если в этом нет крайней необходимости.

Помните: я не хочу реальных «push-уведомлений», то есть «SSE»; Я просто хочу сделать однократный (который на самом деле будет повторяться каждый час или около того) запрос к конечной точке SSE и немедленно вернуть BLOB-объект JSON - не отправлять на веб-сервер (который не существует и не может существовать) ) автоматически.

Это было бы намного проще, если бы у них просто был один и тот же BLOB-объект JSON, доступный прямо на их веб-сайте, но они хотят делать что-то сложное ...

В чем секрет выяснения данных SSE, необходимых для этого? Есть ли хороший способ сделать это?

(я не могу использовать IMAP, потому что их бесплатные аккаунты не поддерживают это.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...