GoogleCalendarAPIを採用したサーバーを作成しています。成功したリクエストを1つ作成しましたが、新しいカレンダーを作成することになっている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);
});
}
};