我尝试使用nodejs googleapis包从用户日历中获取事件。我使用护照将用户登录Google,并使用以下范围:
import Minor from './minor.png'
class SearchBar extends component{
render(){
return(
<img src={Minor} alt="myLogo" />
)
}
}
这一切似乎工作正常,护照收到令牌,个人资料等......所以我试图像这样获取日历事件:
scope = [
'https://www.googleapis.com/auth/calendar',
'https://www.googleapis.com/auth/calendar.readonly',
'https://www.googleapis.com/auth/userinfo.profile',
'profile',
'email'
],
传递给该函数的 module.exports = (token) => {
const calendar = google.calendar({
version: 'v3',
auth: token
});
return new Promise((resolve, reject) => {
calendar.events.list({
calendarId: 'primary',
timeMin: (new Date()).toISOString(),
maxResults: 10,
singleEvents: true,
orderBy: 'startTime',
}, (err, events) => {
if (err) {
console.log(err);
return reject(err);
}
resolve(events);
});
});
};
是我在护照登录期间获得的token
。我得到的错误是:
accessToken
现在,显然,这表明我没有正确使用密钥,但我能够找到的示例显示,在初始调用0|www | errors:
0|www | [ { domain: 'usageLimits',
0|www | reason: 'keyInvalid',
0|www | message: 'Bad Request' } ] }
时将访问令牌传入。我可能会忽略任何想法?记录令牌会在控制台中生成正确的令牌,因此令牌正确地进入。谢谢你!
答案 0 :(得分:0)
问题是我没有正确实现refreshToken的使用。我现在使用的模式是使用refreshToken在每个请求中获取一个新令牌。