Google Picker API, kullanıcıların Google Drive dosyalarını seçmesine veya yüklemesine olanak tanır. Kullanıcılar, masaüstü ve mobil uygulamalarınıza Drive verilerine erişme izni vererek dosyalarıyla güvenli ve yetkili bir şekilde etkileşim kurabilir.
Google Picker, Drive'da depolanan dosyalar için "Dosya Aç" iletişim kutusu görevi görür ve çeşitli özelliklere sahiptir:
- 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.
- 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'nin, kullanıcıların dosyaları bir klasörden diğerine düzenlemesine, taşımasına veya kopyalamasına izin vermediğini unutmayın. Dosyaları yönetmek için Google Drive API'yi 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.
API anahtarı oluşturma
API anahtarı, büyük ve küçük harfler, sayılar, alt çizgiler ve kısa çizgiler içeren uzun bir dizedir (ör. AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe).
Bu kimlik doğrulama yöntemi, "İnternette bu bağlantıya sahip olan herkes" paylaşım ayarı kullanılarak paylaşılan Google Workspace dosyaları gibi herkese açık veriye anonim olarak erişmek için kullanılır. Daha fazla bilgi için API anahtarlarını yönetme başlıklı makaleyi inceleyin.
API anahtarı oluşturmak için:
- Google Cloud Console'da Menü > API'ler ve Hizmetler > Kimlik Bilgileri'ne gidin.
- Kimlik bilgileri oluştur > API anahtarı'nı tıklayın.
- Yeni API anahtarınız gösterilir.
- Uygulamanızın kodunda kullanmak üzere API anahtarınızı kopyalamak için Kopyala'yı tıklayın. API anahtarını, projenizin kimlik bilgilerinin "API Anahtarları" bölümünde de bulabilirsiniz.
- Yetkisiz kullanımı önlemek için API anahtarının nerede ve hangi API'ler için kullanılabileceğini kısıtlamanızı öneririz. Daha fazla bilgi için API kısıtlamaları ekleme başlıklı makaleyi inceleyin.
Bir masaüstü uygulaması için kimlik bilgilerini yetkilendirme
Uygulamanızda son kullanıcıların kimliğini doğrulamak ve 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.- 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.
Google Seçici'yi görüntüleme
Masaüstü uygulamaları için Google Picker API, kullanıcının varsayılan tarayıcısında yeni bir sekmede Google Picker'a yönlendirir. Kullanıcı erişim izni verip ilgili dosyaları seçtikten sonra Google Picker, geri çağırma URL'si aracılığıyla çağıran uygulamaya geri döner. Google Picker API'nin bir istemci sayfasında açılması için bunun yerine web uygulamaları için Google Picker API'yi kullanın. Daha fazla bilgi için Web uygulamalarına genel bakış başlıklı makaleyi inceleyin.
Kullanıcıların ek dosyalara erişim vermesine veya masaüstü 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.Masaüstü 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:Parametre Açıklama Durum prompt=consentDosya erişimi istemi. Zorunlu trigger_onepick=trueGoogle Seçici'yi etkinleştirin. Zorunlu Google Seçici'yi çeşitli isteğe bağlı parametrelerle de özelleştirebilirsiniz:
Parametre Açıklama Durum 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 virgülle ayrılmış MIME türleri 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 dosya kimliklerinin virgülle ayrılmış listesi. Ayarlanmazsa tüm dosyalar görünümde 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: Masaüstü uygulamanızın istemci kimliği.REDIRECT_URI: Yetkilendirme sunucusunun, başarılı kimlik doğrulamanın ardından 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: İstekte 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.
Android'de Google Seçici'yi kullanma
Android mobil uygulamanızda Google Seçici'yi de kullanabilirsiniz.
Mobil uygulama için kimlik bilgilerini yetkilendirme
Android uygulamanızda Google Seçici'yi kullanmak için kullanıcıları masaüstü uygulamalarına benzer şekilde 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 Picker'ı görüntülemek için bir
AuthorizationRequest
oluşturun ve PICKER_OAUTH_TRIGGER ile birlikte
AuthorizationRequest.ResourceParameter kullanın.
AuthorizationRequest oluşturulurken:
https://www.googleapis.com/auth/drive.filekapsamını kullanın.- Döndürülen jetonun yalnızca
setOptOutIncludingGrantedScopes(true)kapsamı için olduğundan ve daha önce verilen kapsamlar için olmadığından emin olmak içinhttps://www.googleapis.com/auth/drive.fileişlevini çağırın. - Daha önce izin verilmiş olsa bile kullanıcıdan izin istemek için
AuthorizationRequest.PromptalanınıCONSENTolarak ayarlayın. Bu alan yalnızca kaynak parametreleri içeren istekler için geçerlidir. - Kullanıcının izin istemi gösterilmeden önce bir hesap seçmesine izin vermek için isteğe bağlı olarak bit eşlem "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ış bir MIME türleri listesi döndürür. Ayarlanmazsa tüm MIME türlerindeki dosyalar görünümde gösterilir.PICKER_FILE_IDS: Arama sonuçlarını filtrelemek için virgülle ayrılmış dosya kimlikleri listesini döndürür. Ayarlanmazsa tüm dosyalar görünümde gösterilir.
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 getTokenResponseParams
AuthorizationResult
kaynağının 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.