访问gmail api时,从url进入同意屏幕获取authuser

时间:2014-11-07 05:59:50

标签: api email gmail-api google-schemas

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

现在我面临的问题是让用户说在浏览器中打开了多个Gmail帐户。由于我提供了硬编码器网址" https://mail.google.com/mail/u/0/#inbox/",它始终在" 0"中打开邮件。 authuser id。那么有什么方法可以在我的应用程序中动态获取此值。我检查了gmail是如何做的,让我们说当我打开第一个gmail帐户时,url将是mail.google.com/mail/u/0/#inbox。如果我打开另一个帐户,则网址为mail.google.com/mail/u/1/#inbox。因此输入0,现在它将是1.

所以我检查了当我们访问任何gmail api时,谷歌提供了同意屏幕,如果打开多个帐户,谷歌将为您提供可以选择帐户的屏幕。选择帐户后,将会显示同意屏幕。所以网址就像" https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/gmail.readonly&response_type=code&redirect_uri=http://localhost:8080/web/guest/GmailDashboard&access_type=online&approval_prompt=auto&client_id=19502573792-0fvebvrb4jg1usmn2r0hfka31la8gtfs.apps.googleusercontent.com&hl=en&from_login=1&as=4ded27cb6d28ee3b&pli=1&authuser=0"。我想在我的应用程序中使用最后一个参数authuser。

任何帮助都将非常感激。

谢谢和问候, Abdulbasit F Shaikh。

2 个答案:

答案 0 :(得分:3)

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

https://mail.google.com/mail/?的 AUTHUSER =your.email.address@gmail.com#all/138d85da096d2126

请参阅以下链接:

How can I reliably link to a Gmail conversation given a thread ID if the user is logged into multiple accounts?

答案 1 :(得分:0)

我认为您可以动态访问多个Gmail地址,而不是提供硬编码网址,而不是提供硬编码网址。

https://accounts.google.com/ServiceLoginAuth?continue=http://mail.google.com/gmail&service=mail&Email=yourname@gmail.com