İlk 100 dosyayı göster & Google Drive'ınızdaki klasörler

1. Google Workspace API'lerini kullanma

Bu codelab'de Google Workspace (eski adıyla G Suite) HTTP tabanlı RESTful API'lerini kullanmayı öğreneceksiniz. Örnek, kısa ve kullanılabilir olması için Python'da yapılacaktır ancak isterseniz geliştirme dilinizi kullanmayı da seçebilirsiniz. Proje oluşturmak/yönetmek için geliştirici konsolunu kullanma, yetkilendirme kimlik bilgilerini alma ve API istemci kitaplıklarını yükleme gibi tanıtım amaçlı konularla karşılaşacaksınız. resmi işlemler tamamlandıktan sonra, ilk 100 dosyayı ve klasörlerini Google Drive'ınızın API'sinde bulabilirsiniz.

Neler öğreneceksiniz?

  • Google/Cloud Developers Console'u kullanarak proje oluşturma
  • & uygulamanızda OAuth2 uygulama kimlik bilgilerini kullanın
  • Google API'leri İstemci Kitaplıklarını kullanma hakkında bilgi edinin
  • Google ve Google Workspace API'leri
  • Google Drive API ile dosya ve klasör bilgilerini alma

Gerekenler

  • İnternete ve web tarayıcısına erişim
  • Google Hesabı (Google Workspace hesapları için yönetici onayı gerekebilir)
  • Linux ve benzeri POSIX uyumlu sistemlere aşinalık Mac OS X
  • Kod düzenleyici veya kabuk komutlarıyla kaynak dosyalar oluşturma özelliği.
  • Temel Python becerileri (2 veya 3) ancak desteklenen herhangi bir dili de kullanabilirsiniz
  • Google Drive'ınızdaki bazı dosyalar ve/veya klasörler

2. Anket

Bu codelab eğiticisini nasıl kullanacaksınız?

Yalnızca okuma Okuyun ve alıştırmaları tamamlayın

Google Workspace geliştirici araçları ve API'ler mi?

Acemi Orta Yeterli

3. Genel Bakış

Bu codelab'de şunları öğreneceksiniz:

  1. Python için Google API'leri istemci kitaplığını indirin
  2. Google/Cloud Developers Console'da yeni bir proje oluşturma
  3. Uygulamanız için gerekli kimlik bilgilerini edinin
  4. Bu kimlik bilgilerini kullanarak Google Drive API'ye erişme

Python kullanmamayı tercih ederseniz codelab'i en sevdiğiniz geliştirme aracında uygulayabilir (desteklenen dillerin istemci kitaplıklarına buradan ulaşabilirsiniz) ve Python örneklerine (yürütülebilir) sözde kod olarak atıfta bulunabilirsiniz.

4. Python ortamını onaylayın

Bu codelab'de, Python dilini kullanmanız gerekir (Google API'leri istemci kitaplıkları, birçok dil tarafından desteklenmektedir. Bu nedenle, en sevdiğiniz geliştirme aracında eşdeğer bir uygulama geliştirebilir ve gerçek kod olarak Python'u kullanabilirsiniz). Bu codelab'de özellikle Python 2 ve 3 desteklenir ancak en kısa sürede 3.x'e geçmenizi öneririz.

Cloud Shell, kullanıcılara doğrudan Cloud Console üzerinden sunulan bir kolaylık sağlar ve yerel geliştirme ortamı gerektirmez. Bu nedenle, bu eğitim tamamen bulutta bir web tarayıcısıyla yapılabilir. Cloud Shell, özellikle GCP ürünleri ve API'ler. Daha açık belirtmek gerekirse bu codelab'de Cloud Shell'e Python'un her iki sürümü de önceden yüklenmiştir.

Cloud Shell'de IPython da yüklüdür. Bu, özellikle veri bilimi veya makine öğrenimi topluluğunun bir parçasıysanız kullanmanızı önerdiğimiz üst düzey bir etkileşimli Python çevirmenidir. Bu durumda IPython, Jupyter Notebooks'un yanı sıra Google Research tarafından barındırılan Colab, Jupyter Notebooks için de varsayılan çevirmendir.

IPython, öncelikle Python 3 çevirmenini tercih eder ancak 3.x mevcut değilse Python 2'ye geri döner. IPython'a Cloud Shell'den erişilebilir, ancak yerel bir geliştirme ortamında da yüklenebilir. ^D (Ctrl-d) tuşlarına basarak çıkın ve çıkış teklifini kabul edin. ipython başlangıcının örneği şu şekilde görünür:

$ ipython
Python 3.7.3 (default, Mar 4 2020, 23:11:43)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.13.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]:

IPython tercih etmiyorsanız standart bir Python etkileşimli yorumlayıcısının (Cloud Shell veya yerel geliştirme ortamınız) kullanılması mükemmel bir şekilde kabul edilebilir (aynı zamanda ^D ile çıkış yapın):

$ python
Python 2.7.13 (default, Sep 26 2018, 18:42:22)
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
$ python3
Python 3.7.3 (default, Mar 10 2020, 02:33:39)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

Codelab'de ayrıca pip yükleme aracına (Python paket yöneticisi ve bağımlılık çözümleyici) sahip olduğunuz varsayılır. 2.7.9 ve sonraki sürümler ile paket halinde gelir. Eski bir Python sürümünüz varsa yükleme talimatları için bu rehberi inceleyin. İzinlerinize bağlı olarak sudo veya süper kullanıcı erişimine sahip olmanız gerekebilir ancak genellikle durum böyle değildir. Belirli Python sürümlerinde pip yürütmesi için açıkça pip2 veya pip3 kullanabilirsiniz.

Codelab'in geri kalanında, Python 3 kullandığınız varsayılır. 3.x'ten önemli ölçüde farklıysa Python 2 için özel talimatlar sağlanır.

*Sanal ortamlar oluşturun ve kullanın

Bu bölüm isteğe bağlıdır ve yalnızca bu codelab için sanal ortam kullanması gereken kullanıcılar için gereklidir (yukarıdaki uyarı kenar çubuğuna göre). Bilgisayarınızda yalnızca Python 3 varsa my_env adlı bir virtualenv oluşturmak için şu komutu vermeniz yeterlidir (isterseniz başka bir ad seçebilirsiniz):

virtualenv my_env

Ancak, hem Python 2 hem de 3'ü bilgisayarınıza yüklemek için, -p flag ile aşağıdaki şekilde yapabileceğiniz bir Python 3 virtualenv yüklemenizi öneririz:

virtualenv -p python3 my_env

"Etkinleştirerek" yeni oluşturulan virtualenv'nizi girin bu şekildedir:

source my_env/bin/activate

Kabuk isteminizin önüne ortamınızın adını (ör.

(my_env) $ 

Artık gerekli tüm paketleri pip install veya bu belge içinde kod yürütebiliyor olmanız gerekir. vs. Bir başka avantaj da, işinizi tamamen bozarsanız, Python kurulumunuzun bozuk olduğu bir durumla karşılaşırsanız sisteminizin geri kalanını etkilemeden bu ortamı baştan sona karmaşaya sokmanızdır.

5. Python için Google API'leri istemci kitaplığını yükleme

Bu codelab'de Python için Google API'leri istemci kitaplığının kullanılması gerekir. Bu nedenle, basit bir yükleme işlemi olabilir veya hiçbir şey yapmanız gerekmeyebilir.

Daha önce, kolaylık olması için Cloud Shell'i kullanmanızı önermiştik. Eğitimin tamamını buluttaki bir web tarayıcısından tamamlayabilirsiniz. Cloud Shell'i kullanmanın diğer bir nedeni de birçok popüler geliştirme aracının ve gerekli kitaplığın önceden önceden yüklü olmasıdır.

*İstemci kitaplıklarını yükleme

(isteğe bağlı) Cloud Shell'i veya istemci kitaplıklarını önceden yüklediğiniz bir yerel ortamı kullanıyorsanız bu adımı atlanabilir. Bunu yalnızca yerel olarak geliştirme yapıyorsanız ve uygulama yüklemediyseniz (veya yüklemediğinizden emin değilseniz) yapmanız gerekir. En kolay yol, yüklemeyi yapmak için pip (veya pip3) kullanmaktır (gerekirse pip öğesinin kendisini güncellemek de dahil):

pip install -U pip google-api-python-client oauth2client

Yüklemeyi onayla

Bu komut, istemci kitaplığının yanı sıra bağımlı olduğu paketleri yükler. İster Cloud Shell'i ister kendi ortamınızı kullanın, gerekli paketleri içe aktararak istemci kitaplığının yüklü olduğunu doğrulayın ve içe aktarma hatası (veya çıkış) olmadığından emin olun:

python3 -c "import googleapiclient, httplib2, oauth2client"

Bunun yerine Python 2 kullanıyorsanız (Cloud Shell'den) bu desteğin sonlandırıldığını belirten bir uyarı alırsınız:

*******************************************************************************
Python 2 is deprecated. Upgrade to Python 3 as soon as possible.
See https://cloud.google.com/python/docs/python2-sunset

To suppress this warning, create an empty ~/.cloudshell/no-python-warning file.
The command will automatically proceed in seconds or on any key.
*******************************************************************************

Bu içe aktarma "test"i çalıştırdıktan sonra komutunu başarıyla kullandığınızdan (hata/çıktı olmadan) Google API'leriyle konuşmaya hazırsınız.

Özet

Bu kod laboratuvarı giriş niteliğinde olduğundan, Google ve Google Workspace API'lerini kullanmaya yeni başladığınız varsayılır. Proje oluşturma ve kullanıcı yetkilendirmesi "OAuth istemci kimlikleri" oluşturma konusunda deneyiminiz varsa Öyleyse mevcut bir proje oluşturun veya mevcut bir projeyi yeniden kullanın, mevcut bir OAuth istemci kimliği oluşturun ya da mevcut bir OAuth istemci kimliğini yeniden kullanın ve sonraki iki modülü atlayıp doğrudan "Drive dosyalarınızı görüntüleme ve klasör uygulaması" İsterseniz bu adımları daha az rehberlikle incelemek için "Gelişmiş geliştirici konsolu kullanımı" bölümüne geçebilirsiniz.

6. Cloud Console'da proje belirtin

Google API'lerini kullanan bir uygulama için proje gerekir. Bu çözümler Google Cloud Developers Console'da veya kısaca "devconsole" ile yönetilir. Bu codelab'de yalnızca Google Drive API'yi kullanacağız. Bu nedenle aşağıdaki sihirli bağlantıyı (1. Adım'ın altında) ele alacağız:

  • Sizi geliştirici konsoluna yönlendirir
  • Yeni bir proje oluşturma (veya mevcut bir projeyi seçme) konusunda size yol gösterir ve
  • Drive API'yi otomatik olarak etkinleştirir.

Haydi başlayalım.

  1. console.developers.google.com/start/api?id=drive adresine gidip Google Hesabınıza giriş yapın.
  2. Henüz projeniz yoksa Google API'leri Hizmet Şartları'nı kabul etmek için aşağıdaki ekranı görürsünüz:

e3b2076ba58a7cd7.png Şartları kabul ettiğinizde "Projem" adında yeni bir proje oluşturulur. oluşturulacak ve Drive API otomatik olarak etkinleştirilecek. 3. Bunun yerine daha önce oluşturduğunuz bir projeyi (örneğin önceki codelab'inizi mi?) oluşturduysanız şu ekranı görürsünüz: 50b3b8ace6721f1f.png Proje oluştur açılır menüsünü tıkladığınızda, mevcut bir projeyi seçin veya yeni bir proje oluşturun. 69db3867445ad9e5.png Seçiminizi yaptıktan sonra (yeni veya mevcut proje) Drive API, sizin için otomatik olarak etkinleştirilir. 4. Şu onay, Drive API'nin etkinleştirildiğini anlarsınız: 365e7de1377493bb.png 5. Sonraki adıma geçmek için Kimlik bilgilerine git'i tıklayın.

7. *API isteklerini yetkilendirme (kullanıcı yetkilendirme)

Kullanıcı hesabı yetkilendirme kimlik bilgilerini zaten oluşturduysanız ve süreç hakkında bilgi sahibiyseniz bu bölümü atlanabilir. Bu, tekniği farklı olan hizmet hesabı yetkilendirmesinden farklıdır, bu nedenle lütfen aşağıdan devam edin.

Yetkilendirmeye giriş (artı bazı kimlik doğrulama işlemleri)

API'lere istek gönderilebilmesi için uygulamanızın uygun yetkilendirmeye sahip olması gerekir. Kimlik doğrulama, benzer bir kelime olan giriş kimlik bilgilerini tanımlar. Giriş kimlik bilgilerinden yararlanarak Google Hesabınıza giriş yaparken siz de kendi kimliğinizi doğrularsınız. şifre. Kimlik doğrulamasından sonraki adım, Cloud Storage'daki blob dosyaları veya kullanıcının Google Drive'daki kişisel dosyaları gibi verilere erişim yetkisine sahip olup olmadığınızı veya daha doğrusu kodunuzun olup olmadığını belirlemektir.

Google API'leri çeşitli yetkilendirme türlerini destekler ancak bu codelab'deki örnek uygulama son kullanıcılara ait verilere eriştiğinden Google Workspace API kullanıcıları için en yaygın olanı kullanıcı yetkilendirmedir. Bu son kullanıcılar uygulamanıza, verilerine erişmek için izin vermelidir. Bu, kodunuzun kullanıcı hesabı OAuth2 kimlik bilgilerini alması gerektiği anlamına gelir.

Kullanıcı yetkilendirmesi için OAuth2 kimlik bilgilerini almak üzere API yöneticisine dönün ve "Kimlik bilgileri"ni seçin sekmesinden:

Y33PZ_rJC1y7NH7Rrvq1kN_WxZ9CppDGJK8tTSaha298Jlm5pMqgnyweIO4oX34fcLy0_VI4gihYu5wpEM_LeJg1iDAFoidhUVyfqJX3QTzODQ_OGjHLXYBxPpUvihCJi9JGwvMREw

Bu sayfaya ulaştığınızda tüm kimlik bilgilerinizi üç ayrı bölümde görürsünüz:

ComE4qh76dwZbIehkDUm1QawHGia_qVe7w7rkmgbeo_wjWS--kqXCt4_zvm55iy_RXA8dKYKvBxIKazkcYQ8871SA_kNslbvum_n1Ju4k9qJJSMtDhPAnofcvIlqlKm1nu7PBQhmEg

İlki API anahtarları, ikinci OAuth 2.0 istemci kimlikleri ve son OAuth2 hizmet hesapları içindir. Ortadakini kullanıyoruz.

Kimlik bilgileri oluşturuluyor

Kimlik Bilgileri sayfasında, üst taraftaki + Kimlik Bilgisi Oluştur düğmesini tıklayın, ardından "OAuth istemci kimliği:" seçeneğini belirleyeceğiniz bir iletişim kutusu görüntülenir.

C7jTddfrczo3GewPGCxbxX13GawtFc6FGvAPFusPc_IW-tr5M6xgXd1OzOHOUTo86WDa9fXiCITogv9b3wAgOcYM7xS3AmVNaPdTxbAynIe_sia2_x3LEPsBrdbX8NjeI2WaHRioOA

Sonraki ekranda 2 işleminiz var: Uygulamanızın yetkilendirme "izin ekranı"nı yapılandırma ve uygulama türünü seçerek:

El9_aqPQ6Q9hOsOp3JUC5qnCm_A_BVI-oCEfPk_MsvybnWBmC5lT6CtXSoZ7EQoFzrcBEzo4zF9s8CbhXyo0e-eSY3pZ1zg0BRvT0YssMMhbzEG-gP_jiO8v9q9HYTjg-QW5jJ0RDA

İzin ekranı ayarlamadıysanız konsolda bu uyarıyı görürsünüz. Bu işlemi şimdi yapmanız gerekir. (İzin ekranınız zaten ayarlanmışsa bu sonraki adımları atlayın.)

"Configure consent screen" (İzin ekranını yapılandır) seçeneğini tıklayın. Burada "Harici"yi uygulama (veya Google Workspace [eski adıyla "Google Workspace"] müşterisiyseniz "Dahili"):

5w-9R6gPvUHFzODZxXy-0GEhL8ZGDGNea3QtMp1FFYDv5DJ_MIDD21NEh3CzI-GKNzy6bkhH7bohxOG8icQTegiWlavOQhQqhSy7K31Ma3YTI9aAP3P-LmTBanPslX1cnjKLVZBi8A

Codelab örneğinizi yayınlamadığınızdan, bu alıştırmada hangisini seçtiğinizin önemli olmadığını unutmayın. Çoğu kullanıcı "Harici"yi seçer bir ekrana geçebileceğini unutmayın ancak burada yalnızca "Uygulama adı"nı alanına girin:

8e9z_RQz8lumYbDIcBvm57_Gpptn9uhrVQHoRzJ01AJNOFmXloDO7Eg3hhzJZZIU2F5rR0MxTCw-oXVFCq683xUwD4O33pXeuFsOMtM8EZhyjDoYc8Kv4hEoaG0Ztq9ePx6De7YmfA

Şu an için tek ihtiyacınız uygulama adıdır. Bu nedenle, yaptığınız codelab'i yansıtan birini seçip Kaydet'i tıklayın.

OAuth istemci kimliği (kullanıcı hesabı kimlik doğrulaması) oluşturuluyor

Kimlik bilgileri sekmesine geri dönün ve bir OAuth2 istemci kimliği oluşturun. Burada, oluşturabileceğiniz çeşitli OAuth istemci kimlikleri gösterilir:

f8reuhsxOUNLcVrEIyRVsmP_fX_ceIlLvEKql1YHwSPW9jk9Mm9fJ0UlfUoi8eRN3QQXar4xtpo071zj6LSczNN7TYY8zB96Dn6ICZuvCAtjIgJSKdMSlX-ZhMuSWFpxxv661aUemw

Diğer adlı bir komut satırı aracı geliştiriyoruz. Bu aracı seçip Oluştur düğmesini tıklayın. Oluşturduğunuz uygulamayı yansıtan bir istemci kimliği adı seçin veya varsayılan adı (genellikle "Diğer istemci N") alın.

Kimlik bilgileriniz kaydediliyor

  1. Yeni kimlik bilgilerinin yer aldığı bir iletişim kutusu görüntülenir; kapatmak için Tamam'ı tıklayın

rAwekj_GNEuVwGbZOYYlGDQjlu4flE61OPEZIUmwMI5vGi3W365UwVCxi0mVNhg4WZSSczZywrZZ6NDM_U0FJ4b-TOIMEC189uybOJjgn8F_axesVMopel9RlehRBXdEFhN4d41WGQ

  1. Kimlik Bilgileri sayfasında "OAuth2 İstemci Kimlikleri" bölümüne ilerleyin bölümünde, yeni oluşturulan istemci kimliğinizin en sağındaki indir simgesini aAmje6kT_xSUM4BKIlPREpjosx7C_xxwpWqBgiGVfVWxQ8nnQOfxTPhuU0QwSnmbjykZffGrqyP1nnKrEQ7D7OqYaGw_Uzscs9gX2RwwP4AmvtHIiTFLa0gkprzJSjG9pQSx7HtmSQ bulup tıklayın. x-vb-sKZy-X8a1X4uTsBWotSd4wn0PGt4mHMNv6DUrq5J5ihpujUyTiIVr5SHw0p2ZDy0KTP-zqOaFX-Az9BYDWG90KNFmsRLTUOo1mUVk7dYRJiK3VwYJNU0bbxjsbbpqcTr5_oLw
  2. Bu işlem, muhtemelen İndirilenler klasörünüze düşecek şekilde client_secret-LONG-HASH-STRING.apps.googleusercontent.com.json adlı bir dosyanın kaydedileceği bir iletişim kutusu açar. Daha kolay olacak şekilde kısaltarak adı client_secret.json (örnek uygulamada kullanılır) olacak şekilde kısaltıp bu codelab'de örnek uygulamayı oluşturacağınız dizine/klasöre kaydetmenizi öneririz.

Özet

Kimlik bilgileriniz elinizin altında olduğunda artık uygulamanızdan Drive API'ye erişmeye hazırsınız. OAuth istemci kimliğinin amacı, kullanıcılarınızın uygulamanıza, Google Drive'daki verilerine erişmesi için izin vermesidir.

NOT: "Sihirbaz"ı kullanmadan proje oluşturma, API'leri etkinleştirme ve kimlik bilgilerini manuel olarak alma hakkında daha fazla bilgi bu codelab sona erdikten sonra daha fazla araştırma yapmak üzere kullanıma sunulmaktadır.

8. Drive dosyalarınız ve klasör uygulaması

Yerel geliştirme ortamınızda veya Cloud Shell'de, client_id.json kimlik bilgileri dosyanızın bulunduğu dizinde drive_list.py adlı yeni bir Python dosyası oluşturun ve aşağıdaki kod satırlarını ekleyin:

from __future__ import print_function

from googleapiclient import discovery
from httplib2 import Http
from oauth2client import file, client, tools

SCOPES = 'https://www.googleapis.com/auth/drive.readonly.metadata'
store = file.Storage('storage.json')
creds = store.get()
if not creds or creds.invalid:
    flow = client.flow_from_clientsecrets('client_id.json', SCOPES)
    creds = tools.run_flow(flow, store)
DRIVE = discovery.build('drive', 'v3', http=creds.authorize(Http()))

files = DRIVE.files().list().execute().get('files', [])
for f in files:
    print(f['name'], f['mimeType'])

Uygulama yapısı

Bu uygulamanın üç ana bölümü vardır:

  1. Kitaplık işlevi sağlamak için Python içe aktarmaları
  2. Uygulama kimlik bilgilerini alma
  3. Dosyayı getir ve klasör adları ve Kullanıcının Google Drive'ındaki MIME türleri ve ekran

NOT: Bu codelab'in tamamlanmasından sonra daha ayrıntılı araştırmalar için, kodla ilgili daha ayrıntılı bilgi edinebilir ve satır satır açıklamaları inceleyebilirsiniz.

Uygulamayı çalıştırma

Bu dosyaya drive_list.py gibi bir ad verin. Komut dosyasını ilk kez çalıştırdığınızda, komut dosyası kullanıcının Drive'daki (sizinki) dosyalarına erişme yetkisine sahip olmaz. Yürütme duraklatılmış durumdayken çıkış şu şekilde görünür:

$ python3 ./drive_list.py
/usr/local/lib/python3.6/site-packages/oauth2client/_helpers.py:255: UserWarning: Cannot access storage.json: No such file or directory
 warnings.warn(_MISSING_FILE_MESSAGE.format(filename))

Your browser has been opened to visit:
  https://accounts.google.com/o/oauth2/auth?client_id=LONG-STRING.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2F&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.readonly.metadata&access_type=offline&response_type=code

If your browser is on a different machine then exit and re-run this
application with the command-line parameter

 --noauth_local_webserver

Yerel geliştirme ortamından

Bir tarayıcı penceresi açıldığında komut satırı komut dosyası duraklatılır ve OAuth2 izinleri iletişim kutusu gösterilir:

c2648f37bcb7a0c1.png

Bu, uygulama kullanıcıdan kodun istediği izinleri istediği yerdir (SCOPES değişkeni aracılığıyla). Bu durumda, kullanıcının Google Drive'ındaki dosya meta verilerini görüntüleme özelliğidir. Evet, bu izin kapsamları kodunuzda URI olarak görünür ancak OAuth2 akış iletişim kutusunda yerel ayarınızda belirtilen dile çevrilir. Kullanıcı, istenen izinler için açık yetkilendirme vermelidir. Aksi takdirde "akışı çalıştır". bir kısmı istisna oluşturur ve komut dosyası devam etmez.

NOT: Bazı kullanıcıların birden fazla tarayıcısı vardır ve yetkilendirme isteği tercih edilmeyen bir tarayıcıda görüntüleniyor olabilir. Bu durumda, kullanmak istemediğiniz tarayıcı penceresinden URL'nin tamamını kopyalayıp kullanmak istediğiniz tarayıcının adres çubuğuna yapıştırmanız yeterlidir.

Cloud Shell'den

Dikkat etmediyseniz ve programı Cloud Shell'de çalıştırdıysanız hiçbir tarayıcı penceresi açılmaz ve takılıp kalırsınız. Alttaki teşhis mesajının size yönelik olduğunu fark edeceksiniz. Şu mesaj:

If your browser is on a different machine then exit and re-run this
application with the command-line parameter

 --noauth_local_webserver

Bu şekilde çalıştırdığınızda aşağıdaki çıkışı alırsınız:

$ python3 drive_list.py --noauth_local_webserver
/usr/local/lib/python3.7/site-packages/oauth2client/_helpers.py:255: UserWarning: Cannot access storage.json: No such file or directory
 warnings.warn(_MISSING_FILE_MESSAGE.format(filename))

Go to the following link in your browser:

  https://accounts.google.com/o/oauth2/auth?client_id=xxx.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.readonly.metadata&access_type=offline&response_type=code

Enter verification code:

Talimatları izleyerek ve söz konusu URL'ye sahip farklı bir tarayıcı sekmesine giderek, yukarıda yerel geliştirme ortamları için açıklananla neredeyse aynı deneyimi yaşarsınız. Aradaki temel fark sonda, Cloud Shell'e gireceğiniz doğrulama kodunu içeren bir ekran daha göreceksiniz:

f6da2c335fb7c6a.png

Bu kodu kesip terminal penceresine yapıştırın.

Özet

Kullanıcı izin ver seçeneğini tıkladıktan ve/veya doğrulama kodu isteme yapıştırıldıktan sonra uygulama çalışmaya devam eder (çalışmaya devam eder). Bu nedenle, Drive dosyalarını/klasörlerini ve bunların MIME türlerini içeren çıkışlar görebilirsiniz. Test hesaplarımızdan birinden örnek:

$ python3 ./drive_list.py
Travel expenses application/vnd.google-apps.spreadsheet
Gmail Add-ons codelab application/vnd.google-apps.script
Google Workspace Developer Intro application/vnd.google-apps.presentation
Baseball Sheets application/vnd.google-apps.folder
My Resume application/vnd.google-apps.document
  . . .

Art arda yapılan yürütmelerde artık sizden yetkilendirme istenmediğini (yetkilendirme kitaplıkları tarafından önbelleğe alındığı için) ve doğrudan çıkışa gittiğinizi fark edeceksiniz. Belgelerinizi bir terminalde ilk kez görmek heyecan verici değil mi? Biz öyle düşünüyoruz!

9. Sonuç

Artık Drive API hakkında daha fazla bilgi edinmeye veya diğer Google Workspace (Gmail, Google Dokümanlar, E-Tablolar, Slaytlar, Takvim) ve diğer Google API'lerini (Haritalar, Analytics, YouTube vb.) keşfetmeye hazırsınız. Bu hedefi tamamladınız, tebrikler!

Bu codelab'de yer alan koda, github.com/googlecodelabs/gsuite-apis-intro adresindeki GitHub deposunda da erişebilirsiniz. (Bu codelab'i depoyla senkronize etmeyi amaçlıyoruz.) Devam etmeye hazır mısınız? Bu codelab'de ele alınan materyalleri daha ayrıntılı olarak incelemenize veya zihninizi çalıştırıp Google teknolojilerine programatik olarak erişmenin diğer yollarını keşfetmenize yardımcı olacak çeşitli kaynakları aşağıda bulabilirsiniz.

Daha önce de belirttiğimiz gibi, düzenli bir Python geliştiricisi değilseniz sizi bu codelab örneğini en sevdiğiniz geliştirme dilinde yeniden yapmaya davet ediyoruz. Desteklenen diller için istemci kitaplıklarını burada bulabilirsiniz.

Ek Çalışma

Artık Drive API'yle ilgili tecrübeniz olduğuna göre, becerilerinizi daha da geliştirmek için aşağıdaki önerilen alıştırmalardan yararlanabilirsiniz:

  1. ZIP dosyaları: Birden fazla ZIP arşivini Drive'a yedekleyen bir uygulama yazın. Bu dosyalar anında açılır, böylece her ZIP dosya adı bu dosyaların bulunduğu klasörün adıdır. EKSTRA KREDİ: Diğer klasörlere yerleştirilmiş Drive klasörlerinin bulunduğu diğer ZIP dosyalarında yinelenen ZIP arşivleri desteği. İzin verirseniz bu Node.js örnek uygulamasını inceleyin.
  2. Fotoğraf albümleri: Google Drive'a birden fazla resim yükleyen, bunları zaman damgası ve/veya diğer klasörlere göre ayrı klasörlerde düzenleyen bir fotoğraf albümü oluşturma aracının başlangıcını yazın coğrafi konum. EKSTRA KREDİ: Açık kaynak bir resim düzenleme kitaplığı bulun ve yaşamış olabileceğiniz etkinlikleri (seyahat, akşam yemeği vb.) temsil edecek şekilde her klasördeki tüm fotoğrafları birleştirin.
  3. GCP'yi keşfedin: Google Workspace ile Google Cloud Platform'u (GCP) birbirine bağlayan bir uygulama yazın. Resim dosyalarını Google Drive'dan Google Cloud Storage'a (GCS) yedekleyen bir araç ve diğer bir "bulutta dosya depolama" yazma çözümüne geçelim. İnanması güç olsa da, GCS'yi kullanmak, gelişmiş istemci kitaplıkları nedeniyle Drive'dan daha kolay olacak.
  4. Analiz ve kayıt: Yedeklenen her görüntüyü Google Cloud Vision API'ye ileterek ve en iyi (3, 5, 10) "etiketleri" alarak çözümünüzün kapsamını 3. sıraya taşıyın API'nin görüntülerde gördükleriyle ilgili bilgi verir. Her resim için, Cloud Vision'dan analizin yanı sıra resmin GCS'de yedeklenen konumunu içeren bir Google E-Tablosu'na satır yazın. Uygulamadan vazgeçerseniz bu Python codelab'ine göz atın.

10. Ek Kaynaklar

Belgeler

Haberler ve güncellemeleri

Diğer codelab'ler

Giriş

Orta düzey

Gelişmiş

Referans uygulamalar

11. *Uygulamayla ilgili ayrıntılı açıklama

İsteğe bağlı bu bölüm, oluşmuş olabilecek boşlukları doldurmak veya daha fazla araştırma yapmak amacıyla oturum sonlandırıldıktan sonra bireysel çalışma olarak kullanılacaktır.

Kitaplık işlevi sağlamak için Python içe aktarmaları

from __future__ import print_function

from googleapiclient import discovery
from httplib2 import Http
from oauth2client import file, client, tools
  • İlk import ifadesi, bu kodun Python 2'de çalışmasını sağlar. Yalnızca Python 3 kullanıyorsanız kod tamamen kaldırılabilir.
  • Python stil yönergelerinden biri, standart kitaplık ve 3. taraf modül içe aktarma işlemlerini ayırmaktır. Boş satırın amacı budur.
  • Sonraki üç içe aktarma işlemi, gerekli sınıfları fonksiyonlarını değiştirmektir... Bu uygulamayı yazmak için bunların hepsi gereklidir. Kısaca özetlemek gerekirse şunları yapar:
  • googleapiclient, Google API'lerine bağlanmaya odaklanır
  • httplib2, uygulamanın kullanması için bir HTTP istemcisi sağlar
  • oauth2client, OAuth2 kimlik bilgilerini yönetmemize yardımcı olur

Uygulama kimlik bilgilerini yetkilendirme ve alma

SCOPES = 'https://www.googleapis.com/auth/drive.readonly.metadata'
store = file.Storage('storage.json')
creds = store.get()
if not creds or creds.invalid:
    flow = client.flow_from_clientsecrets('client_id.json', SCOPES)
    creds = tools.run_flow(flow, store)
DRIVE = discovery.build('drive', 'v3', http=creds.authorize(Http()))
  • SCOPES uygulaması, bir uygulamanın, uygulamayı çalıştıran kullanıcıdan isteyeceği izinlerdir. Uygulamalar, kullanıcı verilerinin güvenliğini sağlamak için izin almadan çalışamaz
  • En iyi uygulamalardan biri, uygulamanızın çalışması için gereken en kısıtlayıcı izinleri kullanmaktır. Neden?
  • Bir uygulamayı yüklerken veya çalıştırırken çok sayıda izin istemesi rahatsız edici değil mi? Bil bakalım ne oldu? Şu anda kullanıcılarınıza tüm bu izinleri istiyor ve bunun için paranın diğer tarafındasınız. Daha az erişim izni istediğiniz için daha kısıtlayıcı kapsamlar kullanmanız, kullanıcıların uygulamanızı yükleme konusunda daha iyi hissetmesini sağlar.
  • Tüm kapsamların çoğu uzun URL'ler gibi görünür ve Drive meta veri kapsamı da bu kapsamdadır.
SCOPES = 'https://www.googleapis.com/auth/drive.readonly.metadata'
  • Uygulamaların Google sunucularıyla iletişim kurabilmesi için bir jeton gereklidir. Google'dan gelen geçerli jetonlar, jeton depolama alanına (storage.json) kaydedilir. Bu jetonları kaydetmezseniz uygulamanızı her çalıştırdığınızda yeniden yetkilendirmeniz gerekir.
store = file.Storage('storage.json')
  • Bu uygulama öncelikle, depolama alanında geçerli kimlik bilgileri olup olmadığını kontrol eder (Koşullu if beyanına bakın).
creds = store.get()
if not creds or creds.invalid:
  • Kimlik bilginiz yoksa veya süresi dolmuşsa OAuth istemci kimliğinizden [oauth2client.client.flow_from_clientsecrets() aracılığıyla] yeni bir yetkilendirme akışı oluşturulmalıdır. client_id.json indirdiğiniz dosyadaki gizli anahtar].
if not creds or creds.invalid:
    flow = client.flow_from_clientsecrets('client_id.json', SCOPES)
  • Uygulamanız bir akışa sahip olduktan sonra, yukarıda açıklanan ve gösterilen [oauth2client.tools.run_flow() aracılığıyla] kullanıcıya OAuth2 izinleri ekranını sunmak için uygulamanızın yürütülmesi gerekir.
    creds = tools.run_flow(flow, store)
  • İzin ver'i tıklayan kullanıcılar, uygulamanızın kendi Google Drive dosyası meta verilerine erişmesine izin verir ve Google sunucuları API'ye erişmek için jetonları geri gönderir. Bunlar creds olarak döndürülür ve storage.json dosyasında önbelleğe alınır.
  • Bu noktada, uygulamanız artık API çağrıları yapmak için geçerli kimlik bilgilerine sahip. googleapiclient.discovery.build() çağrısı yapıldığında, kullandığınız API için bir hizmet uç noktası oluşturulur.
  • build() özelliğini kullanmak için API adını ('drive') ve istenen sürüm (şu anda 'v3').
  • Son parametre, şifrelenmiş API çağrıları için kullanılacak bir HTTP istemcisidir.
DRIVE = discovery.build('drive', 'v3', http=creds.authorize(Http()))

Getir ve ilk 100 Drive dosyasını/klasörü görüntüleme ve MIMEtypes)

files = DRIVE.files().list().execute().get('files', [])
for f in files:
    print(f['name'], f['mimeType'])
  • Sonraki kod satırı, isteği oluşturmak için Drive API'ye yönelik files() koleksiyonunda list() yöntemini kullanır. Bu yöntem de execute() ile hemen çağrılır. Bir Python dict döndürülür. Bu örnekte, 100 dosyasını almak için 'files' anahtarını isteriz. Kullanıcının Google Drive'ındaki klasör adları (veya daha az dosyanız varsa daha az).
  • Neden 100? Bu, DRIVE.files().list() tarafından belirlenen varsayılan değerdir. Bu sayıyı (örneğin, yalnızca 10 dosya veya 1.000 dosya) değiştirmek isterseniz isteğinize pageSize parametresini ekleyin: DRIVE.files().list(pageSize=10). Diğer seçenekler için belgelere göz atın.
  • Komut dosyasının son kısmı her dosya döngüsünde bir döngü oluşturur ve dosyanın adını ve daha iyi olur.

Google REST API kullanan ilk uygulamanızı yazmış oldunuz. Tebrikler! Bu komut dosyası, içe aktarma işlemleri ve yetkilendirme kodunun yanı sıra yalnızca birkaç satır koddan oluşur (yukarıda gördüğünüz gibi). Çoğu Google API'si benzer şekilde çalışır ve yalnızca kullanmak istediğiniz her API için hizmet uç noktaları oluşturmanız gerekir.

Bir uygulamada birden fazla Google API'si kullanma

Evet, aynı uygulamada birden fazla API kullanabilirsiniz. Aşağıda, aynı HTTP istemcisini yeniden kullanan ve üç Google API'sine (evet, 3 farklı SCOPES ile) hizmet uç noktaları oluşturan bir uygulamaya ait Python kod snippet'ini görebilirsiniz:

SCOPES = (
    'https://www.googleapis.com/auth/drive',
    'https://www.googleapis.com/auth/spreadsheets.readonly',
    'https://www.googleapis.com/auth/presentations',
)

    . . .

HTTP   = creds.authorize(Http())
DRIVE  = discovery.build('drive',  'v3', http=HTTP)
SHEETS = discovery.build('sheets', 'v4', http=HTTP)
SLIDES = discovery.build('slides', 'v1', http=HTTP)

Bu kodun, e-tablo verilerini temel alarak birden fazla slayt kümesi (Slaytlar API) oluşturan ve oluşturulan her sunu için kopyalanan (Drive API) bir slayt şablonu kullanan bir uygulamanın parçası olabileceğini düşünüyoruz. Henüz böyle bir uygulama olmasa da Google Workspace ekibinin yapı taşları olarak oluşturduğu mevcut iki örneği kullanarak benzer bir uygulama geliştirebilmeniz gerekir:

  • Metni ve Slaytlar'daki resimler ( blog yayını ve video): Drive API'yi kullanarak bir slayt şablonu sunumunu kopyalar, ardından metni değiştirmek için Slaytlar API'sini kullanır ve resim yer tutucuları
  • E-tablo verilerinden slayt oluşturma ( blog yayını ve video): Bir e-tablodan (E-Tablolar API) verileri okur ve bu verilere dayanarak slaytlar (Slaytlar API) oluşturur

Sizin göreviniz: Bu uygulamayı geliştirmek!

12. *Gelişmiş geliştirici konsolu kullanımı

Bu isteğe bağlı bölümde, codelab'de yukarıda anlatıldığı gibi sihirbazı kullanmadan geliştirici konsolunda projeleri nasıl oluşturacağınız, API'leri nasıl etkinleştireceğiniz ve kimlik bilgilerini nasıl edineceğiniz açıklanmaktadır. Bunu manuel olarak yapabilecek veya nasıl yapılacağını öğrenmek isteyen orta düzey kullanıcılar içindir.

Cloud Console'da projeyi belirtme

Google API'lerini kullanarak her uygulama yazdığınızda bir projenizin olması gerekir. Mevcut bir projeyi yeniden kullanabilir veya yeni bir proje oluşturabilirsiniz. Bu işlem Cloud Console'da gerçekleşir. Bazı codelab'ler, birçok gerekli adımı atlayarak hızlı bir şekilde çalışmanızı sağlayan sihirli bir bağlantı (ör. kurulum sihirbazı) sunar. Ancak hepsinde böyle olmadığı için bu bilgilerin amacı, projelerin nasıl oluşturulacağına ilişkin genel talimatlar vermektir.

Google kimlik bilgilerinizle giriş yaptığınız ve konsolun üst kısmında proje açılır menüsünü gördüğünüz sürece Cloud Console'daki çoğu ekrandan proje oluşturabilirsiniz. Buradaki çoğu ekran görüntüsünün API Yöneticisi, yani Developers Console'dan alındığını unutmayın (sol gezinme bölmesindeki "API yöneticisi"ni tıklayarak veya doğrudan tarayıcınızı console.developers.google.com adresine yönlendirerek kolayca erişilebilir).

  1. Henüz projeniz yoksa aşağıdaki sayfaya yönlendirilirsiniz:
  2. Kontrol paneli sayfası: Gwkk2zcSPOHlRzCGsmBDqfdsEMopOgJyJzh6TunpVFOP3R7bN0-iGt81mNueGxoAei6wCqgQBENsamw3v4ozZJtQgKva6v_90dYJ-rvQjUn9U89avlG1tepDYT9HHjZmYixLD0hACQ
  3. Kitaplık sayfası: NqfejNuo6fJfiTXERiCNAFTnno1JGgudf7M2zVyM9DzXP4E6ruoVxHvFQOPW-HFL5SZvm-WohzPTf7njBS9VCwuu4XnwhQ7CB83tNkH0jsYEx31hO6UMBVHPJS1BMjidg5kh-c7MEw
  4. ya da tamamen boş bir sayfa görüyorsanız: LcJ-wgOFlYa9uZm46fwUkfFTkXIcbhuk607KDaCz8_8NM09RHblz6T5JoWhH7uwSE2q6hKW9XnlutzUqd8yvRAEXFzQjqNNTuscj19yKGkMjbPixeUB8-F1y4Tz7eCpeOEzBUw70yw Bu üçüncü durumla karşılaşırsanız Kitaplık sayfasına gitmek için tarayıcıyı yenileyin.
  5. Kontrol Paneli veya Kitaplık sayfalarında, sayfanın üst kısmındaki proje seçiciyi tıklayın: 3f5REVgveKDcJ8wG2C9gduFBftJb6RNtdQQJ79vwFmQCMU8_t_vxja8jPGIK-ZrpjSqGkRkY4k02xth-7FWNPj4GZUdcBmKQe97LporGaLvwIFzzR5wtH5mEEoA1a74_fnrh9YAqqg
  6. Ardından, seçici iletişim kutusu görüntülenir. "+" işaretini tıklayın. tıklayın: jNzs1bp1eWkpJT3S3AGTm9ejYT2mB3rEd1QajOhO0AR3YxcwaCcF4WlMzdmgOFtlIPQfGEMUysM6m7r89_Fc0Dyy--mjPhCEKdLRZjaozLOvoZOzKtIxdMoWFHCVc2N1K-2HES_k4Q
  7. "+" işaretini tıkladığınızda bir Yeni Proje sayfası görüntülenir. Tüm tüketici hesapları varsayılan olarak 12 proje alır. İlk projenizi oluşturmadan önce Google API'leri Hizmet Şartları'nı kabul etmeniz gerekir: bCB0sQ6k5nfrajlhc-S61MVzyYYBqu6XVNKeRDzXNvKZUNlSeVJSLbkP8sPNi5A-5hWIFzhsQ5R_ER9BBb2bE_B02c1neY2iO5SSe6XDFldppsXbkWm63-0l3ugtSDQS-TeM1d773w

Bunu yaptıktan sonra, gelecekteki projeler oluşturulurken e-posta talebi ve Hizmet Şartları ile ilgili sorular kaybolur:

Pj31ZKoAAnw_JiSz8io7e4yC2Xh3voETusvePf0DS64IMB4aVy9CtANg2r-2NgPxLjbqcfd-Vs33ZNdN7Diz7sZo3j-MKS83SuNXlhGT8ivdhpIvizP1dsYeK1MBQ4HlDZA5aQkIhg 5. Daha önce en az bir proje oluşturduysanız giriş yaptıktan sonra, üzerinde çalıştığınız son projenin kontrol paneline yönlendirilirsiniz. Bu sayfada Select a project'i (Proje seç) yaptığınız gibi yeni bir proje oluşturun > +'ya dokunun. 6. Yeni projeniz oluşturulduktan sonra Kontrol paneli sayfasına dönersiniz: ana4q1H1Q8KNTBEVb62Cc6NVA8VZbxb6BLgf4-bLqLV-p7n8UWv3WW3FN-49CE0x1kARav3pelxOBwNuUDELmitMRFhUNXuaw9-CH9DO3Lek_ifnaI3ZsxSy67Z1UsBO95SPFqlf8Q

Projenizi başarıyla oluşturdunuz ve projeniz için kullanmak istediğiniz API'leri seçerek devam etmeye hazırsınız.

Google API'lerini etkinleştirin

Google API'lerini kullanmaya başlamadan önce etkinleştirmeniz gerekir. Aşağıdaki örnekte, Cloud Vision API'yi etkinleştirmek için yapmanız gerekenler gösterilmektedir. Bu codelab'de, bir veya daha fazla API kullanıyor olabilirsiniz. Bu API'leri kullanmadan önce etkinleştirmek için benzer adımları uygulamanız gerekir.

Cloud Shell'den

Cloud Shell'de aşağıdaki komutu kullanarak API'yi etkinleştirebilirsiniz:

gcloud services enable vision.googleapis.com

Cloud Console'dan

API Yöneticisi'nden Vision API'yi de etkinleştirebilirsiniz. Cloud Console'da API Yöneticisi'ne gidin ve "Kitaplık"ı seçin.

mg03by3QV6kco0rVVV_8IA6VobAoMG4Yoyl-PofNM0dHK8IcoDmpoLUwWeiKFFjpxHWlS1td5-0n7kNkfqHVhSsTSW_hUMvRu3D72g3LCFb7u4v4bla_Z4XyonTVK8PpigMLJcE01g

Arama çubuğuna "Vizyon" yazmaya başlayın, ardından gösterildiğinde Vision API'yi seçin. Siz yazarken aşağıdaki gibi görünebilir:

B6fWWsVhymufgQx6oGIq4sgukK6JQ1VoguVOrSNf_anQb6Cv6RTLtsjx5Qdeu3-uO8-8PyqwZLYdDDjYW5o56R47cnsd_88RKTMqNkpFeDESW2hmBM_7FK2UAMz1_216yXERYSp_JA

Aşağıda gördüğünüz iletişim kutusunu görüntülemek için Cloud Vision API'yi seçin, ardından "Etkinleştir"i tıklayın düğme:

D-MONPLi0UWH6Dp607Dod6JF-LJQZIiUQEPQNKM4Y0mSt09KfipbeeXRAE6cokArBYTfL9VQoONc4L0jlnsUYLsNytQIPfSKr9lCDrXmrrx-1w64LeWWa-byDxcyYWZdCI0mAcVzBw

Maliyet

Birçok Google API'si ücretsiz olarak kullanılabilir ancak GCP'nin (ürünler ve API'ler) kullanımı ücretsiz değildir. Vision API'yi (yukarıda açıklandığı gibi) etkinleştirirken, etkin bir faturalandırma hesabı girmeniz istenebilir. Kullanıcı, etkinleştirmeden önce Vision API'nin fiyatlandırma bilgilerine başvurmalıdır. Belirli Google Cloud Platform (GCP) ürünlerinde "Daima Ücretsiz" katmanını kapsar. Codelab amaçları doğrultusunda, Vision API'ye yapılan her çağrı bu ücretsiz katmana dahil edilir. Toplam sınırları içinde kaldığınız sürece (her bir ay içinde) sizden herhangi bir ücret alınmaz.

Bazı Google API'leri, ör. Google Workspace'te kullanım aylık abonelik kapsamındadır. Örneğin, Gmail, Google Drive, Takvim, Dokümanlar, E-Tablolar ve Slaytlar API'lerinin kullanımı için doğrudan faturalandırma yapılmaz. Farklı Google ürünleri farklı şekilde faturalandırılır. Bu nedenle, bu bilgiler için API'nizin belgelerine başvurduğunuzdan emin olun.

Özet

Bu codelab'de yalnızca Google Drive API'yi etkinleştirmeniz yeterlidir. Bu nedenle, yukarıdaki talimatları uygulayıp "Drive"ı arayın. Etkinleştirildikten sonra devam et.

API isteklerini yetkilendirme (kullanıcı yetkilendirme)

Yetkilendirmeye giriş (artı bazı kimlik doğrulama işlemleri)

API'lere istek gönderilebilmesi için uygulamanızın uygun yetkilendirmeye sahip olması gerekir. Kimlik doğrulama, benzer bir kelime olan giriş kimlik bilgilerini tanımlar. Giriş kimlik bilgilerinden yararlanarak Google Hesabınıza giriş yaparken siz de kendi kimliğinizi doğrularsınız. şifre. Kimlik doğrulamasından sonraki adım, Cloud Storage'daki blob dosyaları veya kullanıcının Google Drive'daki kişisel dosyaları gibi verilere erişim yetkisine sahip olup olmadığınızı veya daha doğrusu kodunuzun olup olmadığını belirlemektir.

Google API'leri çeşitli yetkilendirme türlerini destekler ancak bu codelab'deki örnek uygulama son kullanıcılara ait verilere eriştiğinden Google Workspace API kullanıcıları için en yaygın olanı kullanıcı yetkilendirmedir. Bu son kullanıcılar uygulamanıza, verilerine erişmek için izin vermelidir. Bu, kodunuzun kullanıcı hesabı OAuth2 kimlik bilgilerini alması gerektiği anlamına gelir.

Kullanıcı yetkilendirmesi için OAuth2 kimlik bilgilerini almak üzere API yöneticisine dönün ve "Kimlik bilgileri"ni seçin sekmesinden:

Y33PZ_rJC1y7NH7Rrvq1kN_WxZ9CppDGJK8tTSaha298Jlm5pMqgnyweIO4oX34fcLy0_VI4gihYu5wpEM_LeJg1iDAFoidhUVyfqJX3QTzODQ_OGjHLXYBxPpUvihCJi9JGwvMREw

Bu sayfaya ulaştığınızda tüm kimlik bilgilerinizi üç ayrı bölümde görürsünüz:

ComE4qh76dwZbIehkDUm1QawHGia_qVe7w7rkmgbeo_wjWS--kqXCt4_zvm55iy_RXA8dKYKvBxIKazkcYQ8871SA_kNslbvum_n1Ju4k9qJJSMtDhPAnofcvIlqlKm1nu7PBQhmEg

İlki API anahtarları, ikinci OAuth 2.0 istemci kimlikleri ve son OAuth2 hizmet hesapları içindir. Ortadakini kullanıyoruz.

Kimlik bilgileri oluşturuluyor

Kimlik Bilgileri sayfasında, üst taraftaki + Kimlik Bilgisi Oluştur düğmesini tıklayın, ardından "OAuth istemci kimliği:" seçeneğini belirleyeceğiniz bir iletişim kutusu görüntülenir.

C7jTddfrczo3GewPGCxbxX13GawtFc6FGvAPFusPc_IW-tr5M6xgXd1OzOHOUTo86WDa9fXiCITogv9b3wAgOcYM7xS3AmVNaPdTxbAynIe_sia2_x3LEPsBrdbX8NjeI2WaHRioOA

Sonraki ekranda 2 işleminiz var: Uygulamanızın yetkilendirme "izin ekranı"nı yapılandırma ve uygulama türünü seçerek:

El9_aqPQ6Q9hOsOp3JUC5qnCm_A_BVI-oCEfPk_MsvybnWBmC5lT6CtXSoZ7EQoFzrcBEzo4zF9s8CbhXyo0e-eSY3pZ1zg0BRvT0YssMMhbzEG-gP_jiO8v9q9HYTjg-QW5jJ0RDA

İzin ekranı ayarlamadıysanız konsolda bu uyarıyı görürsünüz. Bu işlemi şimdi yapmanız gerekir. (İzin ekranınız zaten ayarlanmışsa bu sonraki adımları atlayın.)

"Configure consent screen" (İzin ekranını yapılandır) seçeneğini tıklayın. Burada "Harici"yi uygulama (veya Google Workspace müşterisiyseniz "Dahili"):

5w-9R6gPvUHFzODZxXy-0GEhL8ZGDGNea3QtMp1FFYDv5DJ_MIDD21NEh3CzI-GKNzy6bkhH7bohxOG8icQTegiWlavOQhQqhSy7K31Ma3YTI9aAP3P-LmTBanPslX1cnjKLVZBi8A

Codelab örneğinizi yayınlamadığınızdan, bu alıştırmada hangisini seçtiğinizin önemli olmadığını unutmayın. Çoğu kullanıcı "Harici"yi seçer bir ekrana geçebileceğini unutmayın ancak burada yalnızca "Uygulama adı"nı alanına girin:

8e9z_RQz8lumYbDIcBvm57_Gpptn9uhrVQHoRzJ01AJNOFmXloDO7Eg3hhzJZZIU2F5rR0MxTCw-oXVFCq683xUwD4O33pXeuFsOMtM8EZhyjDoYc8Kv4hEoaG0Ztq9ePx6De7YmfA

Şu an için tek ihtiyacınız uygulama adıdır. Bu nedenle, yaptığınız codelab'i yansıtan birini seçip Kaydet'i tıklayın.

OAuth istemci kimliği (kullanıcı hesabı kimlik doğrulaması) oluşturuluyor

Kimlik bilgileri sekmesine geri dönün ve bir OAuth2 istemci kimliği oluşturun. Burada, oluşturabileceğiniz çeşitli OAuth istemci kimlikleri gösterilir:

f8reuhsxOUNLcVrEIyRVsmP_fX_ceIlLvEKql1YHwSPW9jk9Mm9fJ0UlfUoi8eRN3QQXar4xtpo071zj6LSczNN7TYY8zB96Dn6ICZuvCAtjIgJSKdMSlX-ZhMuSWFpxxv661aUemw

Diğer adlı bir komut satırı aracı geliştiriyoruz. Bu aracı seçip Oluştur düğmesini tıklayın. Oluşturduğunuz uygulamayı yansıtan bir istemci kimliği adı seçin veya varsayılan adı (genellikle "Diğer istemci N") alın.

Kimlik bilgileriniz kaydediliyor

  1. Yeni kimlik bilgilerinin yer aldığı bir iletişim kutusu görüntülenir; kapatmak için Tamam'ı tıklayın

rAwekj_GNEuVwGbZOYYlGDQjlu4flE61OPEZIUmwMI5vGi3W365UwVCxi0mVNhg4WZSSczZywrZZ6NDM_U0FJ4b-TOIMEC189uybOJjgn8F_axesVMopel9RlehRBXdEFhN4d41WGQ

  1. Kimlik Bilgileri sayfasında "OAuth2 İstemci Kimlikleri" bölümüne ilerleyin bölümünde, yeni oluşturulan istemci kimliğinizin en sağındaki indir simgesini aAmje6kT_xSUM4BKIlPREpjosx7C_xxwpWqBgiGVfVWxQ8nnQOfxTPhuU0QwSnmbjykZffGrqyP1nnKrEQ7D7OqYaGw_Uzscs9gX2RwwP4AmvtHIiTFLa0gkprzJSjG9pQSx7HtmSQ bulup tıklayın. x-vb-sKZy-X8a1X4uTsBWotSd4wn0PGt4mHMNv6DUrq5J5ihpujUyTiIVr5SHw0p2ZDy0KTP-zqOaFX-Az9BYDWG90KNFmsRLTUOo1mUVk7dYRJiK3VwYJNU0bbxjsbbpqcTr5_oLw
  2. Bu işlem, muhtemelen İndirilenler klasörünüze düşecek şekilde client_secret-LONG-HASH-STRING.apps.googleusercontent.com.json adlı bir dosyanın kaydedileceği bir iletişim kutusu açar. Daha kolay olacak şekilde kısaltarak adı client_secret.json (örnek uygulamada kullanılır) olacak şekilde kısaltıp bu codelab'de örnek uygulamayı oluşturacağınız dizine/klasöre kaydetmenizi öneririz.