Gmail邮件ID或ThreadId如何映射到新的Gmail用户界面?

Chr*_*ood 14 gmail gmail-api

编辑:解决下面的第一条评论,为清楚起见,这不是代码问题.问题很简单:

我应该在新的Gmail用户界面的URI查询字符串中添加什么来查看Gmail API创建的草稿邮件?

尽管这不是一个代码问题,但我要求Stack Overflow作为Google首选的Gmail API问题平台.

-

如果我在新的Gmail用户界面中查看草稿邮件,则URI如下所示:

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

我看不到通过Gmail API创建的邮件的ID或ThreadId创建此类链接的任何方法.

以前,人们可以这样做:

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

其中"compose"的值是Id.

如何在新UI中完成同样的事情?

小智 10

我遇到了同样的问题,并且在这个问题上取得了一些成功,以及一些我仍然无法解决的问题.

好消息:新的compose参数格式是某种"base40"编码.我在Gmail源代码中搜索了受限制的字母字符串,并找到了代码执行此编码/解码的代码并进行了反混淆:https://gist.github.com/danrouse/52212f0de2fbfe33cfc56583f20ccb74

此代码包含一个encode和decode函数,该函数应适用于Gmail格式的查询参数.

坏消息:用于打开草稿电子邮件的编码值似乎无法使用Gmail API.具体来说,它们如下所示: thread-f:NEW_THREAD_ID+msg-a:DRAFT_ID- 虽然草稿ID与之前相同,但线程ID似乎与Gmail API返回的任何ID都不匹配.

有趣的是,如果你检查Gmail用户界面中的主题行,它有数据集属性,包括所有旧格式和新格式ID - 但目前还不清楚如何以编程方式获取新格式.

  • 好消息 - 几个月后再看一遍,NEW_THREAD_ID值现在只是Gmail API返回的十六进制线程ID的十进制表示. (2认同)
  • 哦,我正在使用没有足够精度的 JS int 进行转换。BigInt ftw。 (2认同)

Chr*_*ood 5

感谢@frank-szilinski - 他指出旧格式现在已翻译。即现在再次工作:

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

但是,当 Gmail 标签尚未打开时,它似乎不起作用。