首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌CardDAV更改vCard UID

谷歌CardDAV更改vCard UID
EN

Stack Overflow用户
提问于 2013-01-09 10:01:42
回答 1查看 1.3K关注 0票数 1

我正在将Google CardDAV与我的webApplication集成起来。有时候,当我推出一个新的vCard时,我会遇到一个奇怪的问题。

如果vCard包含一个UID,并且UID是一个GUID,那么谷歌将用一个16字符UID来更改vCard UID。

例如:这是我最初的vCard

开始:VCARD 版本:3.0 N:捏;大卫; FN:大卫·夹点 主持人:2013-01-09 T09:26:34Z UID:6c34bedcf256408780d8ffe269ec2b3b 完:VCARD

所以我把它放到Google CardDAV中,放到当前的url中:

https://www.google.com/m8/carddav/principals/__uids__/myusername@gmail.com/lists/default/6c34bedcf256408780d8ffe269ec2b3b

结果是可以的,并且这个联系人是在Google联系人上创建的。

但是:

如果“现在”,我从相同的vCard中检索当前的URL,我有以下响应。

开始:VCARD 版本:3.0 N:捏;大卫; FN:大卫·夹点 委员:2013-01-09 T09:44:25 Z UID:716212e795884e43 完:VCARD

您可以看到,UID已经更改并从原来的

UID:6c34bedcf 256408780d8ffe269ec2b3b

UID:716212e795884e43

奇怪的是,如果我用以下请求检索卡片

https://www.google.com/m8/carddav/principals/__uids__/myusername@gmail.com/lists/default/716212e795884e43

我有完全相同的响应,就像vCard引用两个不同的路径url一样。

但是,当我从CardDAV检索联系人列表时,将返回第二个URL。

如果我没有用GUID创建vCard,但使用16字符UID,似乎谷歌接受这一点,但有时它改变了,所以我不能确定卡的唯一性。

解决方法似乎是在每次提交后重新下载vCard,但这会导致一个重要的负载,我想要避免。

我对iCloud CardDAV使用了相同的过程,但这种情况并没有发生。

有人能帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2018-03-26 18:24:41

当您将一个vCard放到Google CardDAV上时,它将重新创建一个新的vCard V3.0并释放发布的原始数据,包括数据丢失和您描述的UID / URI路径更改。

除了UID之外,Google CardDAV还有其他问题

在2018年看到这些失败之后,我的建议是:更好的做法是使用谷歌的联系人API,而不是在那里使用CardDAV实现。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14232604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档