2013-01-02 148 views
3

我正在使用Google Calendar API作爲我的一個項目。Google Calendar API - 導入活動:所有者必須是組織者或與會者

我想從我的應用程序將事件導入到Google日曆,並將其鎖定,以便最終用戶無法在Google日曆中修改它們。

的API的偉大工程,到目前爲止,但是,當我嘗試進口事件,我得到這個錯誤:

The owner of the calendar must either be the organizer or an attendee of an event that is imported.

即使我設定的組織者是日曆的所有者之一。

下面是從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": "[email protected]", 
    "displayName": "Owner Guy" 
}, 
"attendees": [ 
    { 
    "email": "[email protected]" 
    } 
] 
} 

重現步驟:

  • 創建日曆並獲得ID或使用「主」您的主日曆。
  • 與某人分享,或讓某人成爲擁有者。
  • 轉到日曆API參考/ events/import - >「試試吧!」,並在提交POST之前使用oAuth進行身份驗證。
  • 填寫必填字段(開始,結束,icaluid等)
  • 嘗試將組織者或任何與會者設置爲日曆所有者之一。
+0

日曆ID你解決這個問題?你現在能夠導入事件嗎? –

回答

2

從我的實驗(我不知道這是在任何地方記錄),只能將參加者的事件導入帳戶(而不是子日曆)中的「主要」日曆。我不知道這是爲什麼。另外請注意,「導入」會生成事件的私人副本,並且對該事件的更改不會傳播給其他與會者(儘管可能會出現與會者狀態)。

3

上的錯誤消息:

The owner of the calendar must either be the organizer or an attendee of an event that is imported.

恕我直言,The owner的真正含義不是在谷歌的用戶,但電子郵件般的日曆ID你的工作。這解釋了爲什麼某些情況下只能使用primary日曆,因爲主日曆與其所有者用戶([email protected])具有相同的ID。

所以,你可以嘗試這些:

  1. 不要設置任何組織相關領域。然後Google爲這些字段設置適當的值(attendees[].organizerorganizer)。
  2. 設置爲attendee[].email
相關問題