在访问gmailapi时,从同意屏幕中的url获取authuser



我创建了一个应用程序,在这个应用程序中,我从我的应用程序中的gmail收件箱中获取所有邮件。现在我想要的是,当用户点击我应用程序中的任何电子邮件时,用户应该被重定向到实际的gmail和用户点击的电子邮件,这些电子邮件应该在gmail中打开。因此,我通过在我的应用程序中的href标记中提供mail.google.com/mail/u/0/#inbox/link来实现这一功能。

现在我在这里面临的问题是,假设用户在浏览器中打开了多个gmail帐户。由于我提供了硬编码url"https://mail.google.com/mail/u/0/#inbox/",它总是在"0"authuser id中打开邮件。那么,有没有任何方法可以在我的应用程序中动态获取这个值。我检查了gmail是如何做到这一点的。比如说,当我打开第一个gmail帐户时,url将是mail.google.com/mail/u/0/#inbox。如果我打开另一个帐户,那么url将是mail。google.com/mail/u/1/#inbox.所以,从0开始,现在它将是1。"。

因此,我已经检查过,当我们访问任何gmail api时,谷歌都会提供同意屏幕,如果打开了多个帐户,谷歌会为您提供可以选择帐户的屏幕。选择帐户后,将显示同意屏幕。所以url会像"https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/gmail.readonly&response_type=代码&重定向uri=http://localhost:8080/web/guest/GmailDashboard&access_type=联机&approvel_prompt=auto&client_id=19502573792-0vebvrb4jg1usmn2r0hfka31la8gtfs.apps.googleusercontent.com&hl=en&from_ login=1&as=4ded27cb6d28ee3b&pli=1&authuser=0"。我想要我的应用程序中的最后一个参数authuser。

任何帮助都将不胜感激。

感谢和问候,阿卜杜勒·F·谢赫。

解决方案是包含一个名为authUser的查询参数,该参数指定要链接到的电子邮件帐户:

https://mail.google.com/mail/?身份验证用户=your.email.address@gmail.com#全部/138d85da096d2126

请参阅以下链接:

如果用户登录了多个帐户,在给定线程ID的情况下,我如何可靠地链接到Gmail对话?

与其提供硬代码url,我认为您可以提供下面的url来动态访问多个gmail地址:

https://accounts.google.com/ServiceLoginAuth?continue=http://mail.google.com/gmail&服务=邮件&电子邮件=yourname@gmail.com

最新更新