调用Gmail API获取消息后生成网页端直达链接的相关咨询
Gmail API 拼接网页端跳转链接问题解答
问题1:URL中/u/3/#inbox部分是否固定?
这部分不是固定的:
/u/后的数字是当前浏览器环境下Gmail登录账号的顺序编号,首个登录的账号对应0,第二个对应1,以此类推。同一用户在不同设备、不同浏览器、或是调整过登录账号顺序后,这个数值都会发生变化,直接写死会导致跳错账号。#inbox对应的是邮件所属的标签/文件夹,如果邮件被归档、归类到自定义文件夹、或是存放在垃圾邮件/已删除列表中,这部分也会对应变化,写死会导致链接打开失败。
问题2:URL末尾FM开头的ID如何获取?
这个ID是Gmail网页端的内部专属标识,不会通过Gmail公开API返回,你在API返回报文中找不到属于正常情况,不需要尝试获取该字段。
推荐通用跳转链接拼接方案
你可以直接用API返回的用户邮箱、threadId 字段拼接通用跳转链接,不需要用到上述两个可变字段:
https://mail.google.com/mail?authuser={已认证用户的Gmail邮箱地址}#all/{API返回的threadId}
- 用
authuser参数指定目标邮箱,不管用户的Gmail登录顺序如何,都会直接跳转到对应账号 - 用
#all前缀,不管邮件属于哪个文件夹/标签都可以正常定位 - 如果需要精准定位到会话中的单条消息,可以拼接messageId:
https://mail.google.com/mail?authuser={已认证用户的Gmail邮箱地址}#all/{threadId}/{messageId}
内容的提问来源于stack exchange,提问作者David Lentz
相关产品推荐
相关产品推荐

