Как идентификатор сообщения Gmail или ThreadId сопоставляются с новым пользовательским интерфейсом Gmail?
редактировать: обращаясь к первому комментарию ниже и для ясности, это не вопрос код. Вопрос прост:
что я помещаю в строку запроса URI нового пользовательского интерфейса Gmail для просмотра Черновика сообщения, созданного API Gmail?
несмотря на то, что это не вопрос кода, я спрашиваю о переполнении стека, поскольку это предпочтительная платформа Google для вопросов API Gmail.
--
Если я просматриваю черновик сообщения в новом пользовательском интерфейсе Gmail URI выглядит примерно так:
Я не вижу способа создать такую ссылку из идентификатора или 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 еще не открыта.