Gmail — ссылка на черновик в режиме, не связанном с разговором

#gmail #gmail-api

#gmail #gmail-api

Вопрос:

Я импортирую / создаю черновики в Gmail с помощью API Gmail. После создания я хотел бы перенаправить пользователя в пользовательский интерфейс Gmail с открытым черновиком в окне composer.

Я заставил его работать должным образом для https://mail.google.com/mail/#drafts?compose =[ИДЕНТИФИКАТОР СООБЩЕНИЯ]. Другие URL-адреса, которые я нашел здесь, также работали хорошо. Gmail выполняет некоторые перенаправления, и в конечном итоге открывается окно composer с черновиком.

Теперь моя проблема:

Если пользователь не включил «Просмотр беседы», это вообще не будет работать. Перенаправление приведет к https://mail.google.com/mail/u/0/#drafts?compose=new и отображается только пустое новое окно composer, а пользовательский интерфейс создает новый черновик.

Если я открою черновик напрямую, формат идентификатора будет другим. https://mail.google.com/mail/u/0/#drafts?compose=hJzgZpSqgLQcCWgZqnlNRzRBfMbjZVnZklzvcFxhQCdwT … и я понятия не имею, можно ли как-то сгенерировать этот формат.

У кого-нибудь есть идея или опыт, чтобы также заставить его работать с этой настройкой пользовательского интерфейса. Как я могу заставить Gmail загрузить черновик в окно composer?

Заранее спасибо.

Ответ №1:

Если у вас включена потоковая передача электронной почты > Просмотр переписки

Используйте следующий URL-адрес

 https://mail.google.com/mail/u/0/#inbox?compose=DRAFT_MESSAGE_ID
 

Если вы отключили потоковую передачу электронной почты> Просмотр беседы

Используйте следующий URL-адрес

 https://mail.google.com/mail/u/0/#inbox/DRAFT_MESSAGE_ID
 

Дополнительная информация

  • Основное различие между ними заключается в том, что первый рассматривается как разговор, а второй пример — нет.
  • Вы можете использовать #черновики вместо #входящие в URL.
  • Номер после …/mail/u/ — это сеанс, который вы открыли
  • Вы можете получить DRAFT_MESSAGE_ID, выполнив запрос к API
  • Вы можете примерно сгенерировать идентификатор композиции самостоятельно, есть несколько примеров (не рекомендуется). Я настоятельно рекомендую вам использовать вместо этого DRAFT_MESSAGE_ID .

Комментарии:

1. Спасибо Хосе за исчерпывающий ответ. К сожалению, второй URL-адрес даже не открывает окно composer в моем случае. Он просто открывает список (входящие или черновики) после выполнения некоторых перенаправлений. Под DRAFT_MESSAGE_ID вы подразумеваете идентификатор сообщения внутри объекта черновика? Используется ли идентификатор черновика?

2. Под идентификатором черновика сообщения я подразумеваю идентификатор сообщения. Если вы не можете открыть черновик сообщения, я рекомендую вам обратиться за помощью, открыв Gmail и перейдя в раздел Справка> Отправить отзыв . При этом объясните, что вы не можете открыть черновик сообщения, используя оба указанных выше URL-адреса.

Ответ №2:

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

https://accounts.google.com/AccountChooser ?authuser={учетная запись пользователя} и Электронная почта ={электронная почта account}amp;continue=https://mail.google.com/mail/#search/rfc822msgid:CAMU-31NcJCVHyGNsAycRKfuS0nMonoaZ6wFMD90Sej996qjuPQ@mail.gmail.com

Вам нужно получить идентификатор вашего сообщения, чтобы заменить область из <> из вашего черновика. Итак, сначала вам нужно будет создать черновик. Получите идентификатор сообщения Google, затем используйте его с messages / get, чтобы получить глобальный идентификатор сообщения (также называемый идентификатором сообщения), а затем используйте его при поиске. На этом этапе вы откроете страницу с поиском по одному черновику, но он не будет открыт. Ваши пользователи должны будут нажать на одно сообщение. К сожалению, похоже, что нет способа заставить хороший способ работать для просмотра беседы, и этот способ работает для non.

Я пробовал много разных URL-адресов, и ничего не получалось. Как отмечалось в исходном вопросе, может сработать, если вы можете ссылаться на полный URL-адрес, но я не вижу способа получить это. Если вы потратите достаточно времени на работу с электронной почтой, вы даже обнаружите, что ID меняется, поэтому они даже не стабильны в течение одного дня.

Другое решение, которое может сработать, как описано:

https://mail.google.com/mail/u/0/#inbox/DRAFT_MESSAGE_ID

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