プロジェクトの1つにGoogleカレンダーAPIを使用しています。
アプリからGoogleカレンダーにイベントをインポートし、最終的なユーザーがGoogleカレンダーでイベントを変更できないようにロックしたいと思います。
APIはこれまでのところうまく機能していますが、イベントをインポートしようとすると、次のエラーが発生します。
カレンダーの所有者は、インポートされるイベントの主催者または参加者のいずれかである必要があります。
主催者をカレンダーの所有者の1人に設定したとしても。
APIコンソールからのPOSTサンプルは次のとおりです。
POST https://www.googleapis.com/calendar/v3/calendars/_my_calendar_id%40group.calendar.google.com/events/import?key={YOUR_API_KEY}
Content-Type: application/json
Authorization: Bearer ya29.AHES6ZTdiWGywGp2LLSUlc8BV-dVIwJET5azIkNekjNgRjHRWc_Ojg
X-JavaScript-User-Agent: Google APIs Explorer
{
"end": {
"dateTime": "2013-01-02T16:22:00+00:00"
},
"iCalUID": "123456789",
"start": {
"dateTime": "2013-01-02T14:22:00+00:00"
},
"organizer": {
"email": "_this_is_the_owner@gmail.com",
"displayName": "Owner Guy"
},
"attendees": [
{
"email": "_this_is_the_owner@gmail.com"
}
]
}
再現する手順:
- カレンダーを作成してIDを取得するか、プライマリカレンダーに「primary」を使用します。
- 誰かと共有するか、誰かを所有者にします。
- Calendar API Reference / events / import-> "Try it!"に移動し、POSTを送信する前にoAuthを使用して認証します。
- 必須フィールド(start、end、icaluidなど)に入力します
- 主催者または出席者をカレンダーの所有者の1人として設定してみてください。