【发布时间】:2021-03-03 01:12:39
【问题描述】:
过去,我已经成功地能够在 bash 或 zsh shell 脚本中使用 curl 访问我的 Gmail 帐户,如下所示:
USERNAME='example@gmail.com'
PASSWORD='superSeckret'
URL='https://mail.google.com/mail/feed/atom'
curl -s -u "$USERNAME:$PASSWORD" "$URL"
但是,现在当我尝试这个时,我得到了这个错误:
<HTML>
<HEAD>
<TITLE>Unauthorized</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Unauthorized</H1>
<H2>Error 401</H2>
</BODY>
</HTML>
如果我在网络浏览器中打开https://mail.google.com/mail/feed/atom,它会按预期显示提要,但我无法通过curl 让它工作。
我尝试查看 Google 是否已关闭对此的访问,但我没有看到任何似乎相关的内容,但我仍然无法使其正常工作。
还有其他方法可以尝试吗?
至少我希望在我的 Gmail 收件箱中获得未读邮件的计数。
能够看到 From: 和 Subject: 行也很好。
(我已经从我的常规 Gmail 帐户以及我的工作电子邮件中尝试过这个,这是一个支持“不太安全的应用程序”的 Google 套件/Google Apps 地址。我实际上是在为我的工作尝试这样做电子邮件。)
任何帮助将不胜感激。
【问题讨论】:
-
mail.google.com/mail/u/0/feed/atom 正在请求 HTTP 基本身份验证登录,但是当提供有效凭据时,它说凭据无效...看起来端点已损坏,有人应该向 google 发送错误报告
-
这个问题的代码中充满了“花哨”的unicode引号,在shell脚本中无法正常工作。我认为它们在脚本中实际上并非如此(或者你会得到更明显的错误),但无论如何它们可能应该在问题中得到纠正。
-
很奇怪。我不知道“智能”引号是如何出现的,但它们绝对不是原版的。我已经更新了帖子。