3

プロジェクトの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人として設定してみてください。
4

2 に答える 2

2

私の実験から (これがどこにも文書化されていることを認識していません)、出席者がいるイベントは、アカウントの「プライマリ」カレンダー (サブカレンダーではなく) にのみ「インポート」できます。これがなぜなのかわかりません。また、「インポート」はイベントのプライベート コピーを作成し、イベントへの変更は他の参加者に伝達されないことに注意してください (ただし、参加者のステータスは伝達される可能性があります)。

于 2014-11-04T15:21:49.357 に答える