我可以使用Gmail API获取指向Gmail草稿的网址链接吗?

时间:2014-06-28 00:49:55

标签: google-api gmail gmail-api

新的Gmail API允许我们创建和查看草稿,但是有没有办法获取URL链接来查看草稿?

我可以使用草稿的ThreadId手动创建链接,如下所示:

https://mail.google.com/mail/u/0/#drafts?compose= {的ThreadId}

但如果谷歌决定改变这些网址的结构,那就有点脆弱了。我也不知道其他国家/地区的网址是否会有所不同。 0也将根据您在浏览器中登录的帐户数量而变化。是否有更好的方法来获取此链接,而不是像我一样手动创建它?

此外,有没有办法将身份验证信息与URL一起传递,以便用户在访问网页时登录?我假设没有办法做到这一点,但我想检查一下。如果用户未登录,则草稿链接会显示登录页面,登录后不会显示草稿。

2 个答案:

答案 0 :(得分:2)

不,手动创建URL是您最好的选择。如果需要,您可以放弃u/0/,Gmail会自动使用第一个经过身份验证的帐户。

不,您无法自动将用户签入Gmail。

答案 1 :(得分:0)

要将URL暴露给API创建的草稿,可以使用:

...
final Gmail.Users.Drafts.Create request = gmailService.users().drafts().create("me", content);
final Draft response = request.execute();
final String url = "https://mail.google.com/mail/ca/u/0/#drafts/" 
             + response.getMessage().getThreadId() 
...

当用户单击它时,gmail会翻译(并重定向)到另一个URL,但会打开正确的草稿。 但是,我在文档中没有提到此功能,因此它可能是一项不受支持的功能,有一天会停止工作。

信用:@Chris Wood来自这个问题stackoverflow.com/q/50124112/455449(请参阅下面问题的评论)


关于传递身份验证信息:

  • 可能无法传递帐户ID
  • 在url中传递密码会带来安全问题(因此我相信这是不可能的)