Kişileri CardDAV protokolüyle yönetme

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:

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.

  1. Müdür
    • https://www.googleapis.com/carddav/v1/principals/userEmail
  2. Ev Seti
    • https://www.googleapis.com/carddav/v1/principals/userEmail/lists
  3. Adres Defteri
    • https://www.googleapis.com/carddav/v1/principals/userEmail/lists/default
  4. İletişim
    • https://www.googleapis.com/carddav/v1/principals/userEmail/lists/default/contactId

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 bir sync-token geçersiz kılındığında yedeklenir. Siyasi nüfuz sahibi getctag özelliği kısıtlanır.
  • Senkronizasyon jetonunu kullanma
    • İstemci programları, Adres'te sync-token PROPFIND isteğini kullanır Mevcut durumunu temsil eden sync-token öğesini almak için kitap. Müşteri uygulamalar bu değeri depolamalı ve düzenli olarak sync-collection vermelidir. Son gönderilen tarihten bu yana yapılan değişiklikleri belirlemek için REPORT istek gönderildi sync-token. Verilen jetonlar 29 gün boyunca geçerlidir ve REPORT yanıt yeni bir sync-token içerecek.
  • 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şinin ETag değerine ayarlanırsa bir istemci programı ETag değişimi olan kişilerin yüzdesi.
  • 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 bir ETag içeriyor.
  • 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.
  • 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 bilinen ETag. Ardından sunucu, PUT öğesini reddeder. sunucudaki mevcut ETag ise (HTTP 412 ile) isteği istemci programı tarafından gönderilen ETag e-posta adresinden farklı. Bu da iyimser bir şekilde serileştirilmesi.
  • Kişiyi silme
    • İstemci uygulamaları, DELETE isteği göndererek bir kişiyi siler bu işlemi yapmanızı öneririz.