Как идентификатор сообщения Gmail или ThreadId сопоставляются с новым пользовательским интерфейсом Gmail?

редактировать: обращаясь к первому комментарию ниже и для ясности, это не вопрос код. Вопрос прост:

что я помещаю в строку запроса URI нового пользовательского интерфейса Gmail для просмотра Черновика сообщения, созданного API Gmail?

несмотря на то, что это не вопрос кода, я спрашиваю о переполнении стека, поскольку это предпочтительная платформа Google для вопросов API Gmail.

--

Если я просматриваю черновик сообщения в новом пользовательском интерфейсе Gmail URI выглядит примерно так:

https://mail.google.com/mail/u/1/?zx=iij9apqgzdf4#drafts?compose=jrjtXSqXwlFGnSGCQgDCdnHGVFdlpFMgzsCNgpQstQLxdLCMkjKstBmWZkCmjhWTQnpsZCJF

Я не вижу способа создать такую ссылку из идентификатора или ThreadId сообщения, созданного через API Gmail.

раньше можно было сделать это:

https://mail.google.com/mail/u/1/?zx=ov61dxfbrcga#drafts?compose=1631caae9dbb074d

где значение "compose"является идентификатором.

Как то же самое можно сделать в новом пользовательском интерфейсе?

3 ответов


я столкнулся с той же проблемой и имел некоторый успех в этой проблеме, а также некоторые проблемы, которые я до сих пор не могу пройти.

хорошие новости новая 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 UI, он имеет атрибуты набора данных, включая все идентификаторы старого формата и нового формата, но все еще неясно, как получить новые программно.


основываясь на @kremonte gist и комментариях @ chris-wood, я сделал драгоценный камень rails, который правильно создает URL-адрес open-the-draft-inside-gmail.

Это здесь -https://github.com/GoodMeasuresLLC/gmail_compose_encoder

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


спасибо @frank-szilinski-он отметил, что старый формат теперь переведен. Т. е. теперь это работает снова:

https://mail.google.com/mail/ca/u/1/#drafts/1661237c4db71ace

Он, похоже,не работает, когда вкладка Gmail еще не открыта.