Ответ 1
Благодаря @frank-szilinski - он указал, что старый формат теперь переведен. Т.е. теперь это работает снова:
https://mail.google.com/mail/ca/u/1/#drafts/1661237c4db71ace
Однако он не работает, когда вкладка Gmail еще не открыта.
Изменить: обращаясь к первому комментарию ниже и для ясности, это не вопрос кода. Вопрос просто:
Что я помещаю в запросе URI нового пользовательского интерфейса Gmail для просмотра черновика сообщения, созданного API Gmail?
Несмотря на то, что это не вопрос кода, я спрашиваю о переполнении стека, поскольку он предпочитает платформу Google для вопросов API Gmail.
-
Если я рассматриваю черновик сообщения в новом пользовательском интерфейсе Gmail, URI выглядит примерно так:
Я не вижу никакого способа создать такую ссылку из Id или ThreadId сообщения, созданного с помощью API Gmail.
Раньше это можно было сделать:
https://mail.google.com/mail/u/1/?zx=ov61dxfbrcga#drafts?compose=1631caae9dbb074d
где значение "compose" - это Id.
Как можно сделать то же самое в новом интерфейсе?
Благодаря @frank-szilinski - он указал, что старый формат теперь переведен. Т.е. теперь это работает снова:
https://mail.google.com/mail/ca/u/1/#drafts/1661237c4db71ace
Однако он не работает, когда вкладка Gmail еще не открыта.
Я столкнулся с одной и той же проблемой и имел некоторый успех в этой проблеме, а также некоторые проблемы, которые я до сих пор не могу преодолеть.
Хорошие новости: новый формат параметров compose
- это своего рода кодировка "base40". Я искал источник Gmail для строки с ограниченным алфавитом и обнаружил и деобфузировал бит кода, выполняющий эту кодировку/декодирование: https://gist.github.com/danrouse/52212f0de2fbfe33cfc56583f20ccb74
Этот код включает функцию encode
и decode
которая должна работать для параметров запроса в формате Gmail.
Плохие новости. Значения, которые он кодирует для открытия черновиков электронной почты, по-видимому, недоступны с использованием API Gmail. В частности, они выглядят следующим образом: thread-f:NEW_THREAD_ID+msg-a:DRAFT_ID
- в то время как идентификатор проекта такой же, как и раньше, идентификатор потока не соответствует ни одному из идентификаторов, возвращаемых API Gmail.
Интересно отметить, что если вы проверяете предметную строку в пользовательском интерфейсе Gmail, у нее есть атрибуты набора данных, включая все как старые, так и новые идентификаторы формата, но все еще неясно, как их программно получить.
Основываясь на @kremonte gist и @chris-wood комментариях, я сделал жемчужину рельсов, которая правильно создает URL-адрес open-the-draft-inside-gmail.
Здесь - https://github.com/GoodMeasuresLLC/gmail_compose_encoder
Это для случая использования "мой код создал черновик (предварительно добавленный с некоторым текстом, конечно), и теперь я хочу открыть черновик в режиме компоновки, чтобы мой пользователь мог просмотреть его, прежде чем нажать" отправить ".
Сейчас:
thread-f:decimal(DRAFT_ID)|msg-a:DRAFT_ID+msg-a:DRAFT_ID