Google calendar api 谷歌日历API中的calendarId、eventId与android提供商API相同吗?

Google calendar api 谷歌日历API中的calendarId、eventId与android提供商API相同吗?,google-calendar-api,android-calendar,Google Calendar Api,Android Calendar,使用android日历提供程序,您可以查询包含calendarId值和eventId值的事件实例。这些值是否与直接使用谷歌日历API查询时得到的值相同 例如,每次清除日历数据并进行同步时,calendarId和eventId值是否与上一次相同(即持久性)?或者提供者会在本地重新生成它们,并将其映射回实际google日历中的相应事件 换句话说,对于给定的用户来说,[calendarId,eventId]对实际上是一个持久的UID吗?不,它们是不同的。Android日历和事件ID是基础SQLite表

使用android日历提供程序,您可以查询包含calendarId值和eventId值的事件实例。这些值是否与直接使用谷歌日历API查询时得到的值相同

例如,每次清除日历数据并进行同步时,calendarId和eventId值是否与上一次相同(即持久性)?或者提供者会在本地重新生成它们,并将其映射回实际google日历中的相应事件


换句话说,对于给定的用户来说,[calendarId,eventId]对实际上是一个持久的UID吗?

不,它们是不同的。Android日历和事件ID是基础SQLite表中的行ID,每当插入新日历或事件时,它们都会自动递增

查看如何在和中创建事件和日历
\u ID
列。请注意,对于日历,它不会明确指定
自动增量
,但如果插入日历时未指定
\u ID
,则会自动确定(请参阅)

与GoogleAPI ID的任何相似之处纯粹是巧合

编辑:

针对您关于使用UID标识相同元素的评论:

对于有公共ID的事件,请参阅和。这些字段本质上是相同的,我希望它们对于相同的事件具有相同的值


注意,即使该字段在Android上被称为
UID_2445
,但它与RFC 5545中的字段相同,因为RFC 5545是RFC 2445的继承者,UID字段在两个规范中具有相同的含义

多谢各位。这似乎足以证明它们是不同的。遗憾的是,它们不是——最好有某种UUID。至少对于事件有一个公共ID,请参见[iCalUID])和。RFC 5545是RFC 2445的继承者,
UID
字段在两个规范中具有相同的含义。我已经更新了我的答案,以解决两个API的公共ID字段。谢谢。我注意到了iCalUID字段,但在日历中它似乎总是空白的。无论如何,这是不可靠的。