更新: これは、Google 開発チームから受け取ったものです。sb に役立つことを願っています:
stanc...@google.com による問題 3110 に関するコメント #4: 終日から非終日へのイベントのパッチ適用に失敗しました
http://code.google.com/a/google.com/p/apps-api-問題/問題/詳細?id=3110
パッチ操作は元のイベントを取得し、要求によって指定されたエントリを変更/追加/削除します。終日イベントに対する PATCH 操作に次のリクエストを送信した場合:
{
"start": {
"dateTime": "2012-05-17T06:30:00+06:30",
"timeZone": "UTC"
},
"end": {
"dateTime": "2012-05-17T07:30:00+06:30",
"timeZone": "UTC"
}
}
結果のイベントは、dateTime フィールドと date フィールドの両方が設定された状態になります (これは許可されていません)。したがって、PATCH リクエストは日付フィールドをクリアする必要があります。
{
"start": {
"dateTime": "2012-05-17T06:30:00+06:30",
"timeZone": "UTC",
"date": null
},
"end": {
"dateTime": "2012-05-17T07:30:00+06:30",
"timeZone": "UTC",
"date": null
}
}
コードでは、フィールド Date を null に設定する場合は、次のようにする必要がありますData.NULL_DATE_TIME
。
EventDateTime edt = new EventDateTime();
edt.put("date",Data.NULL_DATE_TIME);// if you put NULL, it doesn't retain.
edt.put("dateTime", newTime); //newTime is the new value you want to set, type DateTime