我正在编写一个使用 Google Calendar API 的服务器。我已经发出了一个成功的请求,但是这个应该创建一个新日历POST
的请求在 HTTP 响应正文中返回以下错误:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Required"
}
],
"code": 400,
"message": "Required"
}
}
我正在使用 Node.js、Express 和一个名为Request(由 Mikeal 编写)的 Node 的 HTTP 库包装器来向 Google 的 API 发出请求。我只问这个问题是因为错误信息非常神秘。如果有人可以帮助解决这个问题,那就太好了!
下面包含一些代码示例以帮助了解更多信息:
setupTasksCalendar 方法(发出创建新日历的请求):
var setupTasksCalendar = function(req, callback) {
Oauth.makeApiCall({
method: 'POST',
url: 'https://www.googleapis.com/calendar/v3/calendars',
body: JSON.stringify({
summary: "Google Calendar Tasks"
})
}, req, function(e, body) {
if (e) console.log(e);
console.log(body);
callback();
});
};
makeApiCall 方法(进行所需检查并将身份验证令牌添加到 URL 的包装器方法):
this.makeApiCall = function(parameters, req, callback) {
if (Date.now() >= req.session.user.token_expiration_time) {
self.Auth.updateAccessToken(req, function() {
parameters.url = self.addAccessToken(parameters.url, req);
request(parameters, function(e, r, body) {
if (e) console.log(e);
callback(e, body);
});
});
} else {
parameters.url = self.addAccessToken(parameters.url, req);
request(parameters, function(e, r, body) {
if (e) console.log(e);
callback(e, body);
});
}
};