Google CardDAV を webApplication と統合しています。新しい vCard の PUT を作成すると、奇妙な問題が発生することがあります。
vCard に UID が含まれ、UID が GUID である場合、Google は vCard UID を 16 文字の UID に変更します。
例: これは私のオリジナルの vCard です
BEGIN:VCARD
VERSION:3.0
N:ピンチ;David;;;
FN:David ピンチ
REV:2013-01-09T09:26:34Z
UID: 6c34bedcf256408780d8ffe269ec2b3b
END:VCARD
だから私はこれをGoogle CardDAVに入れ、現在のURLに入れます:
https://www.google.com/m8/carddav/principals/ __uids__/myusername@gmail.com/lists/default/6c34bedcf256408780d8ffe269ec2b3b
結果は問題なく、Google コンタクトに実際に連絡先が作成されました。
しかし
、「今」同じ URL から現在の vCard を取得すると、次の応答が得られます。
BEGIN:VCARD
VERSION:3.0
N:ピンチ;David;;;
FN:David ピンチ
REV:2013-01-09T09:44:25Z
UID: 716212e795884e43
END:VCARD
UID が変更され、元から渡されていることがわかります。
UID:6c34bedcf256408780d8ffe269ec2b3b
に
UID:716212e795884e43
不思議なことに、次のリクエストでカードを取得すると
https://www.google.com/m8/carddav/principals/ __uids__/myusername@gmail.com/lists/default/716212e795884e43
vCardが2つの異なるパスURLを参照しているように、まったく同じ応答があります。
ただし、CardDAV から連絡先のリストを取得すると、2 番目の URL が返されます。
GUID を使用せずに 16 文字の UID を使用して vCard を作成すると、Google はこれを受け入れるように見えますが、変更されることもあるので、カードの一意性については確信が持てません。
回避策は、PUT のたびに vCard を再ダウンロードすることのようですが、これにより回避したい重要なペイロードが発生します。
iCloud CardDAV で同じ手順を使用していますが、これは起こりません。
誰でも私を助けることができますか?