1

Googleカレンダーと同期できるオフラインカレンダーを書いています。Googleカレンダーからデータを取得することはできますが、イベントをGoogleに挿入することはできません。これが私の挿入コードです:

    var url = 'https://www.googleapis.com/calendar/v3/calendars/' + calendar_id + '/events';
    var request = {
        'method': 'POST',
        'headers': {
            'GData-Version': '3.0',
            'Content-Type': 'application/atom+xml'
        },
        'body': {
            'start': { 'dateTime': '2012-07-24T07:30:00+08:00'},
            'end': { 'dateTime': '2012-07-24T08:30:00+08:00'},
            'summary': calEvent.title,
            'description': calEvent.body,
            'attendees': [ { 'email': calendar_id}],
            'reminders': {
                'overrides': [ {'method': 'email', 'minutes': 15}]
            }
        }
    };
    oauth.sendSignedRequest(url, function(resp) { console.log(resp) }, request);

私は何度かチェックし、いくつかの関連する問題を検索しましたが、それでもどこが間違っているのかわかりません。戻りエラーは次のとおりです。

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "parseError",
    "message": "Parse Error"
   }
  ],
  "code": 400,
  "message": "Parse Error"
 }
}
4

1 に答える 1

3

どこが間違っているのかわかります。リクエストの本文は文字列である必要があります。

var body = {
'start': { 'dateTime': '2012-07-24T07:30:00+08:00'},
            'end': { 'dateTime': '2012-07-24T08:30:00+08:00'},
            'summary': calEvent.title,
            'description': calEvent.body,
            'attendees': [ { 'email': calendar_id}],
            'reminders': {
                'overrides': [ {'method': 'email', 'minutes': 15}]
            }
        }

次に、本体を文字列に変換します。

body = JSON.stringify(body)

リクエスト変数を設定します。

request = {
    .....
    'body': body
    .....
}
于 2012-07-26T03:06:31.807 に答える