ken
投稿
コメント
ご回答ありがとうございます。了解しました。 今後の機能改善で考慮いただけると助かります。 よろしくお願いします。
Calendar 2019.12.19
ありがとうございます。できました。
失礼しました。「予定作成」APIでした。 ご回答ありがとうございます。
ご回答ありがとうございます。了解しました。
Calendar 2019.12.17
ご回答ありがとうございます。試してみます。 このほかに、「他人のスケジュールリスト閲覧」APIで取得する方法はあるでしょうか。 組織のExternalKeyを指定しても取得できませんでした。 お手数おかけしますが、よろしくお願いします。
自己レスです。 リクエストボディを以下のように変更したところ、登録できました。 APIの説明内容(例)を変更しておいた方がよいような気がします。 { ical:"BEGIN:VCALENDAR\r\n PRODID:Works Mobile Calendar\r\n VERSION:2.0\r\n BEGIN:VTIMEZONE\r\n TZID:Asia/Tokyo\r\n BEGIN:STANDARD\r\n TZOFFSETFROM:+0900\r\n TZOFFSETTO:+0900\r\n TZNAME:JST\r\n DTSTART:19700101T000000\r\n END:STANDARD\r\n END:VTIMEZONE\r\n BEGIN:VEVENT\r\n SEQUENCE:0\r\n CLASS:PUBLIC\r\n SUMMARY:テストの予定\r\n DTSTART;TZID=Asia/Tokyo:20191220T130000\r\n DTEND;TZID=Asia/Tokyo:20191220T140000\r\n DESCRIPTION:予定の説明欄です\r\n LOCATION:場所はここです\r\n CREATED:20191220T034301Z\r\n LAST-MODIFIED:20191220T034301Z\r\n DTSTAMP:20191220T034301Z\r\n END:VEVENT\r\n END:VCALENDAR" } ありがとうございました。
ご回答ありがとうございます。 リクエストヘッダには Content-Type: application/json; charset=UTF-8 を指定しており、Server API Consumer Key の利用範囲にカレンダーの追加は許可されています。 (利用しようとしているのは、カレンダーの「ServerAPI」なので、Server API のConsumerKeyを指定しています) 以下、実際のAPI呼び出しやリクエスト内容等について記載しますので、ご回答いただけると助かります。 ■API呼び出し https://apis.worksmobile.com/r/{API_ID}/calendar/v1/{AccountID}/calendars/defaultCalendarId/events ■リクエストボディ { "ical":"BEGIN:VCALENDAR PRODID:Works Mobile Calendar VERSION:2.0 BEGIN:VTIMEZONE TZID:Asia/Tokyo BEGIN:STANDARD TZOFFSETFROM:+0900 TZOFFSETTO:+0900 TZNAME:JST DTSTART:19700101T000000 END:STANDARD END:VTIMEZONE BEGIN:VEVENT SEQUENCE:0 CLASS:PUBLIC SUMMARY:テストの予定 DTSTART;TZID=Asia/Tokyo:20191204T130000 DTEND;TZID=Asia/Tokyo:20191204T140000 DESCRIPTION:予定の説明欄です LOCATION:場所はここです CREATED:20191204T034301Z LAST-MODIFIED:20191204T034301Z DTSTAMP:20191204T034301Z END:VEVENT END:VCALENDAR" } ■レスポンス { "requestTime": "2019-12-17 13:41:17", "hostName": "jvcapi001", "remoteIp": "10.132.50.173", "requestUrl": "http://jp1-api.calendar.worksmobile.com:5001/v1/{AccountID}/calendars/defaultCalendarId/events", "response": "IllegalArgumentException", "requestUid": "vcz8frza", "requestMethod": "POST", "responseStatus": "0", "requestContentType": "application/json; charset=UTF-8", "elapseTime": "18", "requestParamMap": "{ical=BEGIN:VCALENDARPRODID:Works Mobile CalendarVERSION:2.0BEGIN:VTIMEZONETZID:Asia/TokyoBEGIN:STANDARDTZOFFSETFROM:+0900TZOFFSETTO:+0900TZNAME:JSTDTSTART:19700101T000000END:STANDARDEND:VTIMEZONEBEGIN:VEVENTSEQUENCE:0CLASS:PUBLICSUMMARY:テストの予定DTSTART;TZID=Asia/Tokyo:20191204T130000DTEND;TZID=Asia/Tokyo:20191204T140000DESCRIPTION:予定の説明欄ですLOCATION:場所はここですCREATED:20191204T034301ZLAST-MODIFIED:20191204T034301ZDTSTAMP:20191204T034301ZEND:VEVENTEND:VCALENDAR}", "domain": "calendar", "code": "SERVICE_UNAVAILABLE", "message": "Service fail" } -- "response": "IllegalArgumentException", の部分については、AccountID をドメイン名なしで指定すると、NotExistException になり、AccountID で別のドメイン名を指定すると AuthorizationException になりますので、API自身は正しく判断して処理しようとしているが、なんらかのArgumentが正しくないのではないかとは思うのですが、何が悪いのかがわかりません。 お手数おかけしますが、よろしくお願いします。