具体来说,我想使用Gmail API访问我自己的邮件 。有没有办法在没有OAuth和API密钥和/或客户端ID和秘密的情况下执行此操作?
使用API密钥:
require('googleapis').gmail('v1').users.messages.list({ auth: '<KEY>', userId: '<EMAIL>') });
产生以下错误:
{ errors:
[ { domain: 'global',
reason: 'required',
message: 'Login Required',
locationType: 'header',
location: 'Authorization' } ],
code: 401,
message: 'Login Required' }
我认为该消息意味着他们需要有效的OAuth“授权”标头。我会这样做,但我想如果不提供网页就不可能。
答案 0 :(得分:5)
严格回答&#34;有没有办法在没有OAuth和API密钥和/或客户端ID和秘密的情况下执行此操作?&#34;不是。
但是,您可以使用OAuth实现所需的功能。您只需存储一个刷新令牌,然后您可以随时使用它来请求Auth令牌访问您的Gmail。
为了获得刷新令牌,您可以编写一个简单的Web应用程序来执行一次身份验证,或者按照How do I authorise an app (web or installed) without user intervention? (canonical ?)中的步骤操作,这样您就可以使用Oauth Playground执行整个身份验证流程。