gpt4 book ai didi

google-api - Google Actions - 使用访问 token 访问日历 API 失败

转载 作者:行者123 更新时间:2023-12-05 05:20:29 27 4
gpt4 key购买 nike

我按照说明操作 in this great post , 设置我的应用服务器和谷歌操作之间的帐户链接。

在授权过程中,我请求了“https://www.googleapis.com/auth/calendar”范围权限。

我通过调用

设法在我的服务器上获取了授权 token
app.getUser().accessToken

但是当我使用这段代码向 googleapi 日历发出请求时:

const google = require('googleapis');
var calendar = google.calendar('v3');

var eventData = {
auth: myAuthToken,
calendarId: 'primary',
resource: {
'summary': 'My Event',
'description': 'Event desc',
'start': {
'dateTime': '2017-06-11',
},
'transparency': 'transparent',
'visibility': 'private',
'colorId': 'blue'
}
};

calendar.events.insert(eventData,
function(err, event) {
if (err) {
console.log(err)
}
});

我得到的是这个错误:

{ Error: Login Required
at Request._callback (\node_modules\google-auth-library\lib\transporters.js:85:15)
at Request.self.callback (\node_modules\request\request.js:188:22)
at emitTwo (events.js:106:13)
at Request.emit (events.js:191:7)
at Request.<anonymous> (\node_modules\request\request.js:1171:10)
at emitOne (events.js:96:13)
at Request.emit (events.js:188:7)
at IncomingMessage.<anonymous> (\node_modules\request\request.js:1091:12)
at IncomingMessage.g (events.js:291:16)
at emitNone (events.js:91:20)
code: 401,
errors:
[ { domain: 'global',
reason: 'required',
message: 'Login Required',
locationType: 'header',
location: 'Authorization' } ] }

我应该遵循任何额外的身份验证步骤吗?

最佳答案

我认为问题在于您用作 auth 参数的结构不正确。您向它传递一个字符串标记,而它应该是一个 OAuth2 对象。参见 https://github.com/google/google-api-nodejs-client#making-authenticated-requests有关详细信息,但简而言之,您需要:

  1. 创建一个 OAuth2 对象

var OAuth2 = google.auth.OAuth2;
var oauth2Client = new OAuth2(
YOUR_CLIENT_ID,
YOUR_CLIENT_SECRET,
YOUR_REDIRECT_URL
);
  1. 设置凭据(访问 token )。

oauth2Client.setCredentials({
access_token: 'ACCESS TOKEN HERE'
});
  1. 在事件数据/调用的 auth 参数中使用此 oauth2Client 对象。

var eventData = {
auth: oauth2Client,
...
};

关于google-api - Google Actions - 使用访问 token 访问日历 API 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44589700/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com