Google CardDAV меняет UID vCard

Я интегрирую Google CardDAV со своим веб-приложением. Иногда у меня возникает странная проблема, когда я делаю PUT новой vCard.
Если vCard содержит UID, а UID является GUID, Google изменяет UID vCard на 16-символьный UID.

например: Это моя оригинальная визитная карточка

НАЧАЛО:VCARD
ВЕРСИЯ: 3.0
N:Pinch;David;;;
FN:David Pinch
REV:2013-01-09T09:26:34Z
UID :6c34bedcf256408780d8ffe269ec2b3b
END:VCARD

Поэтому я ПОМЕЩАЮ это в Google CardDAV, в текущий URL:

https://www.google.com/m8/carddav/principals/__uids__/ [email protected]/lists/default/6c34bedcf256408780d8ffe269ec2b3b

Результат ок, и контакт действительно создается в Google Contacts.
НО:
если "сейчас" я получаю текущую визитную карточку с того же URL-адреса, я получаю следующий ответ.

НАЧАЛО:VCARD
ВЕРСИЯ: 3.0
N:Pinch;David;;;
FN:David Pinch
REV:2013-01-09T09:44:25Z
UID :716212e795884e43
КОНЕЦ:VCARD

Вы можете видеть, что UID изменился и перешел от исходного

UID:6c34bedcf256408780d8ffe269ec2b3b

To

UID: 716212e795884e43

Любопытно, если я получу карту со следующим запросом

https://www.google.com/m8/carddav/principals/__uids__/ [email protected]/lists/default/716212e795884e43

У меня точно такой же ответ, например, vCard ссылается на два разных URL-адреса пути.

Однако, когда я получаю список контактов из CardDAV, возвращается второй URL-адрес.
Если я создаю визитную карточку не с GUID, а с 16-значным UID, кажется, что Google принимает это, но иногда это меняется Тем не менее, поэтому я не могу быть уверен в уникальности карты.
Обходной путь, по-видимому, заключается в повторной загрузке vCard после каждого PUT, но это вызывает важную полезную нагрузку, которую я хотел избежать.

Я использую те же процедуры с iCloud CardDAV, и этого не происходит.
Кто-нибудь может мне помочь?


person Roberto Serafin    schedule 09.01.2013    source источник


Ответы (1)


Когда вы РАЗМЕЩАЕТЕ vCard в Google CardDAV, он воссоздает новую vCard V3.0 и удаляет исходные опубликованные данные, включая потерю данных и изменения пути UID / URI, которые вы описываете.

Кроме изменения UID Google CardDAV имеет другие проблемы

  • Потери данных
  • Отклонение действительных визитных карточек
  • Медлительность (10-20 с на операцию записи)

    Дополнительные сведения см. в следующей статье о стресс-тестировании Google CardDAV: https://evertpot.com/google-carddav-issues/

Мой совет после того, как все еще наблюдались эти сбои в 2018 году: лучше использовать Google Contacts API вместо реализации CardDAV.

person dehart    schedule 26.03.2018
comment
Ссылки на внешние ресурсы приветствуются, но, пожалуйста, добавьте контекст вокруг ссылки, чтобы ваши коллеги-пользователи имели некоторое представление о том, что это такое и почему оно там. Всегда цитируйте наиболее релевантную часть важной ссылки на случай, если целевой сайт недоступен или навсегда отключится. - person baduker; 26.03.2018