0
我正在編寫一個採用Google Calendar API的服務器。我做了一個成功的請求,但這POST
請求is supposed to create a new Calendar返回的HTTP響應身體出現以下錯誤:由谷歌日曆API請求沒有通過Node.js(Express)+請求庫
{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Required"
}
],
"code": 400,
"message": "Required"
}
}
我如何使用Node.js,Express和節點的HTTP庫的包裝稱爲Request( Mikeal)向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);
});
}
};
參觀https://www.googleapis.com/calendar/v3/日曆手動給了我相同的迴應。你是否應該包含你的API密鑰或什麼? – 2013-03-26 22:34:53
我在請求中包含了我的access_token,如果這是你要求的。我知道'makeApiCall'函數可以與其他請求一起工作,因爲我成功地發出了其他請求,並且該函數會自動將access_token添加到URL中;我不認爲這是。 – 2013-03-26 22:37:17
你確定你有正確的網址嗎? – 2013-03-26 22:43:26