如何通过Gmail API的threadId生成Gmail会话浏览器URL及二者关联
Gmail API ThreadId 转浏览器会话URL方法及关联解析
关联关系说明
Gmail API返回的threadId是十六进制字符串格式,而浏览器地址栏里的会话后缀是该十六进制值经过URL安全Base64编码后的结果——核心就是这两种格式的互相转换。
从ThreadId生成浏览器URL步骤
- 十六进制转字节数组:把API返回的十六进制
threadId(比如1784d63938119544)转换成对应的字节序列。 - URL安全Base64编码:对字节数组做Base64编码,然后替换特殊字符:把
+换成-,/换成_,同时去掉编码结果末尾的所有=补位符。 - 拼接完整URL:把编码后的字符串拼到Gmail的URL模板里,模板格式为:
https://mail.google.com/mail/u/{用户ID}/#inbox/{编码后的字符串}。默认用户ID是0(对应登录的第一个账号)。
举个实际例子:
- API返回的threadId:
1784d63938119544 - 经过上述编码后得到:
FMfcgGzsmDlfgdRfJFk - 最终可访问的URL:
https://mail.google.com/mail/u/0/#inbox/FMfcgGzsmDlfgdRfJFk
反向解析(从浏览器后缀转ThreadId)
如果想从浏览器URL里的后缀还原API的threadId,步骤反过来:
- 给后缀字符串补
=,让它的长度是4的倍数(比如长度不够时补1或2个=)。 - 把字符串里的
-换回+,_换回/,还原成标准Base64格式。 - 解码成字节数组,再转换成十六进制字符串,就是API里的
threadId。
内容的提问来源于stack exchange,提问作者jsaludes
相关产品推荐
相关产品推荐

