如何在Alternative Runtime中获取Gmail消息标识符等核心字段?
解决Gmail Alternative Runtime插件回调缺失messageId、threadId及accessToken的问题
核心问题根源
你当前设置的draftAccess: "METADATA"权限级别过低,只能返回草稿的基础元数据(主题、收件人等),无法获取messageId、threadId这类需要更高权限的字段。
具体修复步骤
- 调整
draftAccess取值:将部署配置中的draftAccess从METADATA改为FULL,这是获取完整草稿标识信息的关键。修改后的deployment.json示例:
{ "gmail": { "composeTrigger": { "draftAccess": "FULL", "actions": [{ "runFunction": "https://.../gmail/draft", "label": "Draft" }] } }, "oauthScopes": [ "https://www.googleapis.com/auth/gmail.addons.execute", "https://www.googleapis.com/auth/gmail.addons.current.action.compose", "https://www.googleapis.com/auth/gmail.addons.current.message.readonly" ] }
- 关于accessToken:回调请求中的
authorizationEventObject.userOAuthToken就是你需要的用户授权令牌,直接使用该字段即可,不需要额外获取其他accessToken字段。 - 重新部署插件:修改配置后务必重新部署,确保Google端加载最新的权限和触发器设置。
额外说明
METADATA级别的draft访问仅适用于不需要操作草稿内容或获取唯一标识的场景,当你需要插入文本到草稿、读取完整草稿内容时,必须使用FULL权限。你之前配置的oauthScopes已经覆盖了必要权限,核心问题就是draftAccess的级别设置。
内容的提问来源于stack exchange,提问作者Yufan Shi
相关产品推荐
相关产品推荐

