Google Picker'ı masaüstü ve mobil uygulamalara entegre etme

Bu belgede, Google Picker API'yi kullanarak Google Picker'ı masaüstü ve mobil uygulamalarınıza nasıl entegre edeceğiniz açıklanmaktadır.

Google Picker API, kullanıcıların Google Drive dosyalarını seçmesine veya yüklemesine olanak tanıyan bir yöntemdir. Kullanıcılar, masaüstü, mobil veya web uygulamanıza Drive verilerine erişme izni vererek dosyalarıyla güvenli ve yetkili bir şekilde etkileşim kurabilir.

Özellikler

Google Seçici'nin çeşitli özellikleri vardır:

  • Google Drive kullanıcı arayüzüne benzer bir görünüm ve kullanım deneyimi.
  • Drive dosyalarının önizlemelerini ve küçük resimlerini gösteren çeşitli görünümler.
  • Yalnızca belirli dosya türlerini (ör. PDF'ler veya resimler) ya da belirli klasörleri gösteren önceden filtrelenmiş görünümler.
  • Kullanıcının varsayılan tarayıcısında yeni bir sekmede Google Seçici'ye yönlendirme yapılır.

Google Seçici ile dosyaları seçip yükleyebileceğinizi ancak kullanıcıların dosyaları bir klasörden diğerine düzenlemesine, taşımasına veya kopyalamasına izin verilmediğini unutmayın. Dosyaları yönetmek için Google Drive API veya Drive kullanıcı arayüzünü kullanmanız gerekir.

Ön koşullar

Google Seçici'yi kullanan uygulamalar, mevcut tüm Hizmet Şartları'na uymalıdır. En önemlisi, isteklerinizde kendinizi doğru şekilde tanımlamanız gerekir.

Ayrıca Google Cloud projeniz olmalıdır.

Ortamınızı ayarlama

Google Picker API'yi kullanmaya başlamak için ortamınızı ayarlamanız gerekir.

API'yi etkinleştirme

Google API'lerini kullanmadan önce bir Google Cloud projesinde etkinleştirmeniz gerekir. Tek bir Google Cloud projesinde bir veya daha fazla API'yi etkinleştirebilirsiniz.

Kimlik doğrulama ve yetkilendirme ayarlarını yapma

Son kullanıcıların kimliğini doğrulamak ve uygulamanızdaki kullanıcı verilerine erişmek için bir veya daha fazla OAuth 2.0 istemci kimliği oluşturmanız gerekir. İstemci kimliği, tek bir uygulamanın Google OAuth sunucularına tanıtılması için kullanılır. Uygulamanız birden fazla platformda çalışıyorsa her platform için ayrı bir istemci kimliği oluşturmanız gerekir.

Masaüstü uygulaması için kimlik bilgilerini yetkilendirme

OAuth 2.0 istemci kimliği oluşturmak için aşağıdaki adımları uygulayın:

  1. Google API Console'da Menü > Google Auth platformu > İstemciler'e gidin.

    Müşteriler'e gidin

  2. Create Client'ı (İstemci Oluştur) tıklayın.
  3. Uygulama türü > Masaüstü uygulaması'nı tıklayın.
  4. Ad alanına, kimliğin adını yazın. Bu ad yalnızca Google API Konsolu'nda gösterilir.
  5. Oluştur'u tıklayın.

    Yeni oluşturulan kimlik bilgisi, "OAuth 2.0 İstemci Kimlikleri" altında görünür.

Uygulamaların daha önce kendilerine verilen dosyalara erişim yetkisi alması için aşağıdaki adımları uygulamanız gerekir:

  1. drive.file, drive veya drive.readonly kapsamına sahip bir OAuth 2.0 jetonunu şu talimatları kullanarak almanız gerekir: Google API'lerine Erişmek İçin OAuth 2.0'ı Kullanma. Kapsamlar hakkında daha fazla bilgi için Google Drive API kapsamlarını seçme başlıklı makaleyi inceleyin.

  2. Kullanıcının daha önce erişim izni verdiği dosyaları okumak ve değiştirmek için OAuth 2.0 jetonunu Drive API'ye iletin.

Mobil uygulamanız için kimlik bilgilerini yetkilendirme

OAuth 2.0 istemci kimliği oluşturmak için Mobil uygulama için kimlik bilgilerini yetkilendirme bölümündeki adımları uygulayın.

Web uygulamanız için kimlik bilgilerini yetkilendirme

OAuth 2.0 istemci kimliği oluşturmak için Web uygulaması için kimlik bilgilerini yetkilendirme bölümündeki adımları uygulayın.

Google Seçici'yi görüntüleme

Masaüstü ve mobil uygulamalar için Google Picker API, kullanıcının varsayılan tarayıcısında yeni bir sekmedeki Google Picker'a yönlendirir. Kullanıcı erişim izni verip ilgili dosyaları seçtikten sonra Google Seçici, geri çağırma URL'si aracılığıyla çağıran uygulamaya geri döner.

Google Picker API'nin bir istemci sayfasında açılmasını sağlamak için bunun yerine web uygulamaları için Google Picker API'yi kullanın. Daha fazla bilgi için Google Picker'ı web uygulamalarına entegre etme başlıklı makaleyi inceleyin.

Kullanıcıların ek dosyalara erişim vermesine veya uygulama akışınızda kullanılacak dosyaları seçmesine izin vermek için aşağıdaki adımları uygulayın:

  1. drive.file kapsamına erişim isteğinde bulunarak OAuth 2.0 erişim sayfasını yeni bir tarayıcı sekmesinde açmak için şu talimatları uygulayın: Google API'lerine Erişmek İçin OAuth 2.0'ı Kullanma. Kapsamlar hakkında daha fazla bilgi için Google Drive API kapsamlarını seçme başlıklı makaleyi inceleyin.

    Bu uygulamalar için yalnızca drive.file kapsamına izin verildiğini ve bu kapsamın başka bir kapsamla birleştirilemeyeceğini unutmayın.

  2. Yeni tarayıcı sekmesinin URL'si tüm standart OAuth sorgu dizesi parametrelerini kabul eder.

    prompt ve trigger_onepick URL parametrelerini OAuth 2.0 yetkilendirme URL'si isteğinize eklemeniz gerekir. Dilerseniz Google Seçici'yi diğer parametrelerle de özelleştirebilirsiniz:

    Parametre Açıklama Durum
    prompt=consent Dosya erişimi istemi. Zorunlu
    trigger_onepick=true Google Seçici'yi etkinleştirin. Zorunlu
    allow_multiple=true Doğruysa kullanıcının birden fazla dosya seçmesine izin verilir. İsteğe bağlı
    mimetypes=MIMETYPES Arama sonuçlarını filtrelemek için MIME türlerinin virgülle ayrılmış listesi. Ayarlanmazsa görünümde tüm MIME türlerindeki dosyalar gösterilir. İsteğe bağlı
    file_ids=FILE_IDS Arama sonuçlarını filtrelemek için virgülle ayrılmış dosya kimlikleri listesi. Ayarlanmazsa görünümde tüm dosyalar gösterilir. İsteğe bağlı
    allow_folder_selection=true Doğruysa kullanıcının klasör de seçmesine izin verilir. İsteğe bağlı

    Aşağıdaki örnekte bir OAuth 2.0 yetkilendirme URL'si isteği gösterilmektedir:

    https://accounts.google.com/o/oauth2/v2/auth? \
    client_id=CLIENT_ID \
    &scope=https://www.googleapis.com/auth/drive.file \
    &redirect_uri=REDIRECT_URI \
    &response_type=code \
    &access_type=offline \
    &prompt=consent \
    &trigger_onepick=true
    

    Aşağıdakini değiştirin:

    • CLIENT_ID: Uygulamanızın istemci kimliği.

    • REDIRECT_URI: Yetkilendirme sunucusunun, kimlik doğrulama başarılı olduktan sonra kullanıcının tarayıcısını yönlendirdiği yer. Örneğin, https://www.cymbalgroup.com/oauth2callback.

      Belirtilen redirect_uri, herkese açık bir HTTPS URL'si olmalıdır. redirect_uri için özel bir protokol veya localhost URL'si kullanmak istiyorsanız önce özel protokole ya da localhost URL'sine yönlendiren herkese açık bir HTTPS URL'si kullanmanız gerekir.

  3. Kullanıcı erişim izni verip ilgili dosyaları seçtikten sonra OAuth, isteğinde belirtilen redirect_uri adresine aşağıdaki URL parametreleri eklenmiş şekilde yönlendirir:

    • picked_file_ids: Kullanıcı erişim izni verdiyse ve dosyaları seçtiyse seçilen dosya kimliklerinin virgülle ayrılmış listesi.

    • code: İsteğe ayarlanan response_type parametresine göre erişim jetonu veya erişim kodu. Bu parametre yeni bir yetkilendirme kodu içerir.

    • scope: İsteğe dahil edilen kapsamlar.

    • error: Kullanıcı, izin akışı içinde isteği iptal ettiyse bir hata gösterilir.

    Aşağıdaki örnekte bir OAuth 2.0 yetkilendirme URL'si yanıtı gösterilmektedir:

    https://REDIRECT_URI?picked_file_ids=PICKED_FILE_IDS&code=CODE&scope=SCOPES
    
  4. Uygulamalar, 3. adımdaki yetkilendirme kodunu yeni bir OAuth 2.0 jetonuyla değiştirmelidir. Daha fazla bilgi için Yenileme ve erişim jetonları için yetkilendirme kodu değiş tokuşu yapma başlıklı makaleyi inceleyin.

  5. Uygulamalar daha sonra Drive API'yi çağırmak için 3. adımda URL parametresinden alınan dosya kimliklerini ve 4. adımda elde edilen OAuth 2.0 jetonunu kullanabilir. Daha fazla bilgi için Google Drive API'ye genel bakış başlıklı makaleyi inceleyin.

Google Seçici'yi Android uygulamalarıyla kullanma

Android mobil uygulamalarınızda Google Seçici'yi de kullanabilirsiniz.

Mobil uygulama için kimlik bilgilerini yetkilendirme

Android uygulamanızda Google Seçici'yi kullanmak için masaüstü uygulamalarına benzer şekilde kullanıcıları OAuth 2.0 kullanarak yetkilendirmeniz gerekir. Android kimlik doğrulamasıyla ilgili ayrıntılar için Google kullanıcı verilerine erişimi yetkilendirme başlıklı makaleyi inceleyin.

Yetkilendirme sırasında Google Seçici'yi göstermek için bir AuthorizationRequest oluşturun ve PICKER_OAUTH_TRIGGER kaynak parametresini AuthorizationRequest.ResourceParameter nesnesinde kullanın.

AuthorizationRequest oluşturulurken:

  • drive.file kapsamını kullanın.

  • Döndürülen jetonun yalnızca drive.file kapsamı için olduğundan ve daha önce verilen kapsamlar için olmadığından emin olmak için setOptOutIncludingGrantedScopes true çağrısını yapın.

  • Kullanıcı izni daha önce verilmiş olsa bile kullanıcıdan izin istemek için AuthorizationRequest.Prompt alanını CONSENT olarak ayarlayın.

  • Kullanıcının izin istemi gösterilmeden önce bir hesap seçmesine izin vermek için isteğe bağlı olarak bitmap "OR" (|) operatörünü kullanarak AuthorizationRequest.Prompt alanını SELECT_ACCOUNT olarak da ayarlayabilirsiniz.

Google seçiciyi çağırma

Masaüstü uygulamalarına benzer şekilde, Google Seçici'yi çeşitli isteğe bağlı parametrelerle özelleştirebilirsiniz:

  • PICKER_ALLOW_MULTIPLE: Kullanıcıların birden fazla dosya seçmesine olanak tanır.
  • PICKER_MIMETYPES: Arama sonuçlarını filtrelemek için virgülle ayrılmış MIME türleri listesini kabul eder. Ayarlanmamışsa görünümde tüm MIME türlerindeki dosyalar gösterilir.
  • PICKER_FILE_IDS: Arama sonuçlarını filtrelemek için virgülle ayrılmış dosya kimlikleri listesini kabul eder. Ayarlanmazsa tüm dosyalar görünümde gösterilir.
  • PICKER_ALLOW_FOLDER_SELECTION: Kullanıcıların klasör de seçmesine olanak tanır.

Masaüstü uygulamalarındaki isteğe bağlı parametreler hakkında daha fazla bilgi için Google Seçici'yi görüntüleme başlıklı makaleye bakın.

Kullanıcı erişim izni verip ilgili dosyaları seçtikten sonra AuthorizationResult kaynağının getTokenResponseParams nesnesi döndürülür. Kullanıcı erişim izni verdiyse bu nesne, seçilen dosya kimliklerinin virgülle ayrılmış listesi olan picked_file_ids değerini içerir.