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.Google Cloud Console'da Google Picker API'yi etkinleştirin.
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:
- Google API Console'da Menü > Google Auth platformu > İstemciler'e gidin.
- Create Client'ı (İstemci Oluştur) tıklayın.
- Uygulama türü > Masaüstü uygulaması'nı tıklayın.
- Ad alanına, kimliğin adını yazın. Bu ad yalnızca Google API Konsolu'nda gösterilir.
- 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:
drive.file,driveveyadrive.readonlykapsamı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.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:
drive.filekapsamı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.filekapsamına izin verildiğini ve bu kapsamın başka bir kapsamla birleştirilemeyeceğini unutmayın.Yeni tarayıcı sekmesinin URL'si tüm standart OAuth sorgu dizesi parametrelerini kabul eder.
promptvetrigger_onepickURL 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=consentDosya erişimi istemi. Zorunlu trigger_onepick=trueGoogle Seçici'yi etkinleştirin. Zorunlu allow_multiple=trueDoğruysa kullanıcının birden fazla dosya seçmesine izin verilir. İsteğe bağlı mimetypes=MIMETYPESArama 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_IDSArama 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=trueDoğ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=trueAş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_uriiç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.
Kullanıcı erişim izni verip ilgili dosyaları seçtikten sonra OAuth, isteğinde belirtilen
redirect_uriadresine 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 ayarlananresponse_typeparametresine 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=SCOPESUygulamalar, 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.
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.filekapsamını kullanın.Döndürülen jetonun yalnızca
drive.filekapsamı için olduğundan ve daha önce verilen kapsamlar için olmadığından emin olmak içinsetOptOutIncludingGrantedScopestrueçağrısını yapın.Kullanıcı izni daha önce verilmiş olsa bile kullanıcıdan izin istemek için
AuthorizationRequest.PromptalanınıCONSENTolarak 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ü kullanarakAuthorizationRequest.PromptalanınıSELECT_ACCOUNTolarak 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.