在 Gmail 中获取线程 ID

Hap*_*Cry 5 javascript email gmail multithreading

我正在寻找一种方法来弄清楚如何在 Gmail 上获取特定电子邮件的线程 ID,就在发送之前或单击发送按钮时。

目前,我正在使用 Javascript 以便从电子邮件中删除其他项目并将它们存储在一个记录中,该记录对除线程 ID 之外的所有内容都非常有效。

在 URL 中发送电子邮件后可以找到线程 ID:

https://mail.google.com/mail/u/0/?shva=1#inbox/13ddda647539dcca
Run Code Online (Sandbox Code Playgroud)

在这种情况下,线程 ID(如果我是对的 - 是 13ddda647539dcca。

任何帮助,将不胜感激。

Ian*_*Ian 0

你可以尝试:

var matched = window.location.hash.match(/[A-Za-z0-9]+$/);
if (matched) {
    // Found alphanumeric string at end of hash
}
Run Code Online (Sandbox Code Playgroud)

您可以通过 获取该值matched[0]

window.location.hash应该只抓取“#inbox/13ddda647539dcca”部分。然后正则表达式将匹配字符串末尾的任何字母数字字符。因此,“收件箱”与线程 id 通过“/”分隔这一事实很重要。

当然,所有这一切都取决于 Gmail 的可靠性,使 URL 遵循与当前看起来相同的约定。