0

Office 365 REST API には何らかの制限があり、古い日付のイベントを追加できないように見えますが、特定の制約を突き止めることができません。たとえば、次の JSON ペイロードでは、リクエストが 400 レスポンスで失敗します。

{
    "Subject":"Task/Other",
    "Location":{},
    "Body": {
        "ContentType":"Text",
        "Content":"Appointment text"
    },
    "Start": {
        "DateTime":"1983-05-12T19:00:00",
        "TimeZone":"America/New_York"
    },
    "End": {
        "DateTime":"1983-05-12T19:30:00",
        "TimeZone":"America/New_York"
    }
}

ただし、次のペイロードは成功します。

{
    "Subject":"Task/Other",
    "Location":{},
    "Body": {
        "ContentType":"Text",
        "Content":"Appointment text"
    },
    "Start": {
        "DateTime":"2016-05-12T19:00:00",
        "TimeZone":"America/New_York"
    },
    "End": {
        "DateTime":"2016-05-12T19:30:00",
        "TimeZone":"America/New_York"
    }
}

唯一の違いは、より新しいイベント日付です。このような制約に関する API ドキュメントは見つかりません。私は何が欠けていますか?

4

1 に答える 1

0

この問題を再現できました。ただし、タイムゾーンを UTC に変更した後、問題は修正されました。回避策として、最初に「America/New_York」から「UTC」に時刻を変更し、UTC 時刻を使用することをお勧めします。

参照用にテストしたサンプルを次に示します。

POST: https://graph.microsoft.com/v1.0/me/events/
authorization: bearer {token}
Content-type: application/json
{
"Subject":"Task/Other",
"Location":{'DisplayName':'Water Cooler'},
"Body": {
    "ContentType":"Text",
    "Content":"Appointment text"
},
"Start": {
    "DateTime":"1983-05-12T19:00:00",
    "TimeZone":"UTC"
},
"End": {
    "DateTime":"1983-05-12T19:30:00",
    "TimeZone":"UTC"
}
}

この問題を解決するには、ここから Office 開発者チームに連絡してみてください。

于 2016-05-27T07:43:02.117 に答える