我正在使用Node.js和googleapis软件包。连同护照进行身份验证。
当我在Node.JS应用上运行此代码时:
function start(user, oauth2){
// Start watching for new emails
gmail.users.watch({
auth: oauth2,
userId: 'me',
resource: {
topicName: 'projects/outrigger-170662/topics/gmail',
labelIds: ["Inbox"]
} `
}, function(err){
if (err){
console.log(err);
}
}); }
注意:实际上我正在传递用户对象和oauth2client,所以这不是问题。
我收到此错误:
data: { error: [Object] } },
code: 400,
errors:
[ { domain: 'global',
reason: 'invalidArgument',
message: 'Invalid topicName does not match projects/outrigger-170622/topics/*' } ] }
我正在使用以下范围:
'email',
'profile',
'https://www.googleapis.com/auth/calendar',
'https://mail.google.com/',
'https://www.googleapis.com/auth/contacts'
我已经在我的Google云控制台上创建了gmail主题,并将
allUsers
设置为发布者。我有什么想念的吗?该站点位于https://outrigger.herokuapp.com/
最佳答案
根据错误消息,您的实际项目ID为outrigger-170622
,但是在您的请求中,您正在发送outrigger-170662
。看来此错误是由662 vs 622的错字引起的。请尝试解决此问题,看看错误是否消失。