簡體   English   中英

Google Calendar API:使用Ruby gem更新事件

[英]Google Calendar API : event update with the Ruby gem

我正在使用https://github.com/google/google-api-ruby-client連接到其他Google API,尤其是Google Calendar。

在大多數情況下,創建事件,更新事件和刪除事件都可以正常工作。

在上次更新事件日期后嘗試更新事件詳細信息時,就會出現此問題。 在這種情況下,提供的ID不夠,請求失敗並顯示以下錯誤:

SmhwCalendar :: GoogleServiceException:無效的序列值。 400

但是文檔中並未提及此類內容: https : //developers.google.com/google-apps/calendar/v3/reference/calendars/update

事件文檔的確描述了sequence屬性,而無需多說: https : //developers.google.com/google-apps/calendar/v3/reference/events/update

  1. 更新事件需要什么?
  2. 除了事件ID之外,在創建,更新事件時是否還有特定的屬性可跟蹤?
  3. ruby google api客戶端如何處理這些?

我認為我在“不能減少事件的序號”中的回答也適用於此。 序列號一定不能減少(如果不提供,則與提供0相同)+一些操作(例如時間更改)會增加序列號。 確保始終使用事件的最新副本(響應中提供的副本)。

@luc答案很正確,但是這里有一些細節。

Google API文檔對此尚不清楚( https://developers.google.com/google-apps/calendar/v3/reference/events/update )。

您應該考慮到第一個響應包含的序列號為0。第一次更新應包含該序列號(以及標題和描述等)。 該請求的響應將包含一個遞增序列號(在這種情況下為1),您應該在下一次更新時存儲並重用該序列號。

雖然第一次更新將表示序列號為0(並且可以正常工作),如果您不通過任何一次,第二次更新可能仍會通過,但第三次可能不會通過(因為它期望序列為1)。

因此,該屬性可能看起來是可選的,但實際上根本不是可選的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM