7

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

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

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

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

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

4

2 回答 2

2

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

不,您无法自动将用户登录到 Gmail。

于 2015-03-05T01:09:48.567 回答
1

要将 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,但会打开正确的草稿。但是,我没有在文档中找到对此的提及,因此它可能是一项不受支持的功能,有一天会停止工作。

学分:来自这个 SO 问题 stackoverflow.com/q/50124112/455449 的@Chris Wood(请参阅他在问题下方的评论)


关于传递身份验证信息:

  • 传递帐户 ID 可能是不可能的
  • 在 url 中传递密码将是一种安全废话(所以我相信这是不可能的)
于 2019-05-25T22:26:58.403 回答