我正在尝试将新的Gmail API与Google API节点客户端一起使用。我从开发者控制台创建了一个新项目,设置了一个新的“服务帐户”客户端ID,并启用了对API的访问。
作为概念证明,我只是试着列出收件箱中的线程。当我为API explorer启用OAuth 2.0切换并输入我的电子邮件地址时,请求成功,我看到一个带有数据的JSON响应。
现在我尝试在Node中执行同样的操作:
var googleapis = require('googleapis');
var SERVICE_ACCOUNT_EMAIL = '...SNIP...';
// generated by: openssl pkcs12 -in ...SNIP...p12 -out key.pem -nocerts -nodes
var SERVICE_ACCOUNT_KEY_FILE = 'key.pem';
var jwt = new googleapis.auth.JWT(
SERVICE_ACCOUNT_EMAIL,
SERVICE_ACCOUNT_KEY_FILE,
null,
['https://www.googleapis.com/auth/gmail.readonly']);
googleapis
.discover('gmail', 'v1')
.execute(function(err, client) {
jwt.authorize(function(err, result) {
if(err) console.error(err);
else console.log(result);
client.gmail.users.threads.list()
.withAuthClient(jwt)
.execute(function(err, result) {
if(err) console.error(err);
else console.log(result);
});
});
});
首先,我打印了authorize()
调用的结果,它看起来像是返回了一个令牌,所以我想我已经正确地设置了OAuth的所有内容:
{ access_token: '...SNIP...',
token_type: 'Bearer',
expires_in: 1404277946,
refresh_token: 'jwt-placeholder' }
然后我尝试实际使用API,但我得到了一个错误:
{ errors:
[ { domain: 'global',
reason: 'backendError',
message: 'Backend Error' } ],
code: 500,
message: 'Backend Error' }
在这一点上,我不知道还能尝试什么。我认为OAuth的东西正在正常工作,因为我没有得到任何身份验证错误。我还认为应用编程接口本身正在工作,我的账户也很好,因为我可以通过应用编程接口资源管理器使用它。我也没有看到任何节点库出错的迹象。简而言之,我不知道问题是什么。有什么想法吗?
您正在使用服务帐户来验证您对GMail的请求。据我所知,您的服务帐户不会有Gmail,只有用户有GMail。因此,您需要与用户一起执行OAuth2流程(参见这里的示例)。
问题内容: 我要疯了: 已安装Hadoop / Hbase,所有正在运行; 伪分布式环境。 HBase的壳 正在运行并提出运行“列表”的正确结果;并且 通过红宝石和节俭连接时,一切正常。我们正在添加数据,它正在进入系统,我们可以查询/扫描它。一切似乎都很好。 但是,使用Java连接时: 我一直在努力寻找原因,但我真的一点头也不知道。一切似乎都已正确安装。 看起来也不错。 如果您键入任何内容,则连接
我正在尝试对客户端凭据流进行身份验证,但一直返回错误400。我查看了可用的API,但看不出我做错了什么。如果有人能给我一个正确的方向,那太棒了。谢谢
如有任何帮助,我们将不胜感激。 PS:我使用的是java7
我对GoogleAPI有些问题。 这是错误。 条件:jdk 1.8,Tomcat 8.5 请帮我解决这个错误。
我们试图对cadence设置进行基准测试(目前在2个EC2实例上运行:m5a.xlarge ),发现了许多cadence客户端错误: cadence_service:cadence_matching,操作:历史记录重新记录活动任务已启动
错误:在object.exports._errnoException(util.js:856:11)在exports._exceptionWithHostPort(util.js:879:20)在tcpConnectTRap.AfterConnect[as oncomplete](net.js:1063:14)vivek@vivek-latitude-e6220://var/www/html/te