Kişilerinizi Google'ın CardDAV protokolünü kullanarak görüntüleyebilir ve yönetebilirsiniz.
Kişiler kullanıcının Google Hesabında saklanır; çoğu Google hizmetinde kişi listesine erişebilir. İstemci uygulamanız CardDAV API'yi kullanarak yeni kişi oluşturma, mevcut kişileri düzenleme veya silme ve kişileri sorgulama reklam grubu da oluşturabilirsiniz.
Özellikler
Tam spesifikasyon uygulanmadı, ancak Apple iOSTM Kişiler ve macOS'in doğru şekilde birlikte çalışması gerekir.
İlgili her spesifikasyon için Google'ın CardDAV desteği aşağıdaki gibidir:
- rfc2518: Dağıtılmış Yazma için HTTP Uzantıları (WebDAV)
GET
,PUT
,DELETE
,OPTIONS
ve HTTP yöntemlerini desteklerPROPFIND
.- Şu HTTP yöntemlerini desteklemiyor
LOCK
,UNLOCK
,COPY
,MOVE
veyaMKCOL
. - Rastgele (kullanıcı tanımlı) WebDAV mülklerini desteklemez.
- WebDAV Erişim Denetimi'ni desteklemez (rfc3744).
- rfc5995: WebDAV Koleksiyonlarına Üye Eklemek İçin POST Kullanma
- Bir kimlik belirtmeden yeni kişiler oluşturmayı destekler.
- rfc6352: CardDAV: vCard Uzantıları, Web'de Dağıtılmış Yazma ve
Sürüm oluşturma (WebDAV)
REPORT
HTTP yöntemini destekler, ancak tanımlanan raporların tamamı desteklenmemektedir yardımcı olur.- Ana hesap ve kişi koleksiyonu sağlamayı destekler.
- rfc6578: WebDAV için Toplama Senkronizasyonu
- ilk senkronizasyon.
- rfc6749: OAuth 2.0 Yetkilendirme Çerçevesi ve
rfc6750: OAuth 2.0 Yetkilendirme Çerçevesi: Taşıyıcı Jeton Kullanımı
- CardDAV istemci programlarının kimliğinin OAuth 2.0 HTTP kullanılarak doğrulanmasını destekler Kimlik doğrulama. Google başka hiçbir kimlik doğrulama yöntemini desteklemez. Kişi verilerinin güvenliği için CardDAV bağlantıları tarafından HTTPS.
- rfc6764: Uzantıları WebDAV'a (CalDAV) ve vCard Uzantılarını WebDAV'a (CardDAV) Takvime Eklemeye Yönelik Hizmetleri Bulma
- CardDAV URL'lerinin önyüklemesi, rfc6764'tür.
- Destekler
caldav-ctag-02: CalDAV'daki Takvim Koleksiyonu Varlık Etiketi (CTag),
Bu bağlantı, CardDAV ve CalDAV özellikleri arasında paylaşılır. Kişiler
ctag
, birETag
kaynağı gibidir; iletişimde bir şey olduğunda adres defteri değişti. Böylece, istemci programı, senkronize edilmesi gerekmez. - Google, kişi kodlama biçimi olarak VCard 3.0'ı kullanır. Bkz.: rfc6350: VCard 3.0.
Google'ın CardDAV çözümü, OAuth 2.0'ı gerektirir
Google'ın CardDAV arayüzü için OAuth 2.0 gereklidir. Bağlantılı şu dokümanları inceleyin:
Google'ın CardDAV sunucusuna bağlanılıyor
CardDAV protokolü, adres defterinin ve iletişim kaynaklarının bulunmasına olanak tanır. URI'lar. Her an değişebileceği için hiçbir URI'nın kodunu gömmemeniz gerekir.
İstemci uygulamaları HTTPS kullanmalı ve OAuth 2.0
kimlik doğrulaması,
(kullanıcının Google hesabı için) CardDAV sunucusu
bir istek OAuth 2.0 ile HTTPS üzerinden ulaşmadıkça kimliğini doğrulama
bir Google Hesabı'nın kimlik doğrulamasından yararlanabiliyorsanız ve uygulamanız
DevConsole. Temel kimlik doğrulaması veya
bir Google hesabıyla eşleşmeyen bir e-posta/şifre, HTTP ile sonuçlanıyorsa
401 Unauthorized
yanıt kodu.
CardDAV'ı kullanmak için istemci programınızın ilk olarak standart sayfaya bağlanması gerekir
şurada bir HTTP PROPFIND
gerçekleştirerek keşif yolu:
https://www.googleapis.com/.well-known/carddav
Bir Adres Defteri Kaynağına (HTTP 301
) yönlendirildikten sonra istemci programınız
daha sonra,PROPFIND
DAV:current-user-principal
, DAV:principal-URL
ve addressbook-home-set
özellikler. Böylece istemci programınız ana adres defterini
addressbook-home-set
cihazında PROPFIND
gerçekleştiriyor ve
addressbook
ve collection
kaynakları. Bu işlemin tam açıklaması
bu dokümanın kapsamı dışındadır. Görüntüleyin
rfc6352 adresini ziyaret edebilirsiniz.
Şu tarihte bir PROPFIND
aracılığıyla HTTP 301
yanıtında döndürülen yönlendirme yolu:
iyi bilinen URI kalıcı olarak önbelleğe alınmamalıdır (
rfc6764). Cihazlar, iyi bilinen uygulamayı yeniden denemelidir
Önbelleğe alınan yolun hâlâ güncel olup olmadığını ve
yol değişirse yeniden senkronize edin. Google, bu işlemi 2-4 haftada bir önerir.
Kaynaklar
CardDAV, REST kavramlarını kullanır. İstemci uygulamaları, tarafından atanır. Yardımcı olması için geçerli URI yapısı burada belirtilmiştir geliştiriciler aşağıdaki bölümde yer alan kavramları anlamıştır. Yapı, değiştirilebilir ve sabit bir şekilde kodlanmamalıdır. Daha çok, ihtiyaç duyulan kaynaklar kullanır.
- Müdür
- https://www.googleapis.com/carddav/v1/principals/
userEmail
- https://www.googleapis.com/carddav/v1/principals/
- Ev Seti
- https://www.googleapis.com/carddav/v1/principals/
userEmail
/lists
- https://www.googleapis.com/carddav/v1/principals/
- Adres Defteri
- https://www.googleapis.com/carddav/v1/principals/
userEmail
/lists/default
- https://www.googleapis.com/carddav/v1/principals/
- İletişim
- https://www.googleapis.com/carddav/v1/principals/
userEmail
/lists/default/contactId
- https://www.googleapis.com/carddav/v1/principals/
Kişileri Senkronize Etme
Aşağıda, desteklenen işlemlerin genel bir açıklaması yer almaktadır. Geliştiriciler ilgili RFC'de ayrıntılara bakmanız gerekir. İstekler ve yanıtlar XML'de kodlanır. Bunlar, istemci tarafından kullanılan ana işlemlerdir. senkronizasyon uygulamaları:
- CTag'i kullanma
- İstemci programları, Adres Defteri'nde
getctag
PROPFIND
isteğini kullanır ve herhangi bir kişinin sunucuda değişip değişmediğini belirlemek için bir bu nedenle senkronizasyon gerekip gerekmediği. Bu özelliğin değeri herhangi bir kişi değişirse mutlaka değişecektir. İstemci uygulamaları değeri depolamalı ve yalnızca ilk senkronizasyonda ve birsync-token
geçersiz kılındığında yedeklenir. Siyasi nüfuz sahibigetctag
özelliği kısıtlanır.
- İstemci programları, Adres Defteri'nde
- Senkronizasyon jetonunu kullanma
- İstemci programları, Adres'te
sync-token
PROPFIND
isteğini kullanır Mevcut durumunu temsil edensync-token
öğesini almak için kitap. Müşteri uygulamalar bu değeri depolamalı ve düzenli olaraksync-collection
vermelidir. Son gönderilen tarihten bu yana yapılan değişiklikleri belirlemek içinREPORT
istek gönderildisync-token
. Verilen jetonlar 29 gün boyunca geçerlidir veREPORT
yanıt yeni birsync-token
içerecek.
- İstemci programları, Adres'te
- ETag'leri kullanma
- İstemci uygulamaları, Adres'te bir
getetag
PROPFIND
isteği yayınlar Kitap kaynağı (DEPTH
başlığıDEPTH_1
değerine eşit). Korunarak her kişininETag
değerine ayarlanırsa bir istemci programıETag
değişimi olan kişilerin yüzdesi.
- İstemci uygulamaları, Adres'te bir
- Kişileri alma
- İstemci uygulamaları, kişileri bir
addressbook-multiget
REPORT
isteği. İletişim URI’larından oluşan bir listeyi rapor, istenen tüm kişileri VCard 3.0 değerleri olarak döndürür. Her biri giriş, kişi için birETag
içeriyor.
- İstemci uygulamaları, kişileri bir
- Kişi ekleme
- İstemci uygulamaları, VCard'daki yeni kişiye bir
POST
isteği gönderir. 3.0 biçiminde indirilmelidir. Yanıtta yeni kişinin kimliği yer alır.
- İstemci uygulamaları, VCard'daki yeni kişiye bir
- Kişiyi güncelleme
- İstemci uygulamaları, güncel iletişim kişisiyle bir
PUT
isteği gönderir: VCard 3.0 biçiminde olmalıdır. Kişi zaten mevcutsa güncellenir yazın. - İstemci uygulamaları,
If-Match
kişinin şu anda bilinenETag
. Ardından sunucu,PUT
öğesini reddeder. sunucudaki mevcutETag
ise (HTTP 412
ile) isteği istemci programı tarafından gönderilenETag
e-posta adresinden farklı. Bu da iyimser bir şekilde serileştirilmesi.
- İstemci uygulamaları, güncel iletişim kişisiyle bir
- Kişiyi silme
- İstemci uygulamaları,
DELETE
isteği göndererek bir kişiyi siler bu işlemi yapmanızı öneririz.
- İstemci uygulamaları,