Google hizmetleriyle kimlik doğrulama

Komut dosyanız Google Drive, E-Tablolar ve Posta gibi Google hizmetlerini kullanıyorsa kimlik bilgilerini almanız gerekir. Kimlik bilgilerini almak için birkaç seçenek vardır:

  • Seçenek 1 — Takip etmesi kolaydır ve daha az zaman alır, ancak erişim belirtecinin süresi dolduğunda bunu her saat tekrarlamanız gerekir.
  • 2. Seçenek : Biraz daha karmaşıktır, ancak yalnızca yenileme belirteci geçersiz hale gelirse tekrarlamanız gerekir.
  • 3. Seçenek — Ayrıca biraz daha karmaşıktır (sağlanan PowerShell betiğini kullanır), ancak yalnızca yenileme belirteci geçersiz hale gelirse tekrarlamanız gerekir.

1. Seçenek - Google OAuth oyun alanından erişim jetonu alma

  1. Google OAuth oyun alanına gidin
  2. Kendi kapsamlarınızı girin alanında, yapıştırınhttps://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/gmail.send
  3. API'leri Yetkilendir'i seçin
  4. API'ler yetkilendirildikten sonra, belirteçler için Exchange yetkilendirme kodunu seçin
  5. Yanıttan access_token değerini kopyalayın
  6. Google hizmetlerine erişen Onaylanmamış reklamları keşfetme gibi çözümlerde, kimlik bilgileri nesnesinin alanını 5. accessToken adımda kopyalanan erişim belirtecine ayarlayın.

Not

Erişim belirtecinin süresi 1 saat içinde dolduğu için bu adımları her saat başı yinelemeniz gerekir.

2. Seçenek - Google OAuth playground'dan yenileme jetonu alma

  1. Google Geliştirici Konsolu API'si kontrol paneline gidin
  2. Yeni bir proje oluşturmak için Proje oluştur'u seçin veya mevcut bir projeyi seçin
    1. Yeni bir proje oluşturuyorsanız, Proje Adı'na projenizin adını girin. Örneğin, Komut Dosyaları.
    2. Oluştur'u seçin
  3. Pano'daAPI'leri ve HİZMETLERİ ETKİNLEŞTİR'i seçin
  4. Arama kutusuna e-sayfaları girin ve Google E-Tablolar API'sini seçin. Sonra ETKİNLEŞTİR'i seçin
  5. Kontrol paneline Geri dön (API'leri & Hizmetleri seçin) ve Google Drive API için 3. ve 4. adımları tekrarlayın
  6. Kontrol paneline Geri dön (belirli API'ler & Hizmetler) ve Gmail API için 3. ve 4. adımları tekrarlayın
  7. Pano'da, sol gezinti bölmesinde Kimlik Bilgileri'ni seçin ve ardından ONAY EKRANINI YAPILANDIR'ı seçin. Bir Kullanıcı Türü seçmeniz istenirse, Harici'yi seçin ve ardından Oluştur'u seçin
  8. Uygulama adı alanına uygulamanızın adını (örneğin, Betikler istemcisi) girin ve bunu isteyen alanlara e-postanızı girin, ardından KAYDET VE DEVAM ET'i seçin
  9. KAPSAM EKLE VEYA KALDIR'ı seçin,.. /auth/drive ve .. /auth/gmail.send yazın ve ardından Güncelle'yi seçin
  10. KAYDET VE DEVAM ET'i seçin
  11. KULLANICI EKLE'yi seçin, Google e-postanızı girin ve EKLE'yi seçin
  12. Pano'da, sol gezinti bölmesindeki Kimlik Bilgileri'ni seçin, ardından Kimlik bilgileri oluştur'u seçin ve Oauth istemci kimliği'ni seçin
  13. Web uygulaması Uygulama türünü seçin. Ardından, Ad alanına Betikler web uygulaması gibi bir ad girin. Ardından, Yetkili yönlendirme URI'lerine ekleyinhttps://developers.google.com/oauthplayground. Son olarak, Oluştur'u seçin
  14. 18, 19 ve 24. adımlarda kullanmak üzere istemci kimliğinizi ve istemci parolanızı kopyalayın ve ardından Tamam'ı seçin
  15. Google OAuth oyun alanına gidin
  16. OAuth 2.0 Yapılandırması simgesini seçin (sağ üst köşede dişliye benzeyen bir simge görünür)
  17. Kendi OAuth kimlik bilgilerinizi kullanın kutusunu işaretleyin
  18. İstemci kimliğinizi OAuth İstemci Kimliği'ne yapıştırın
  19. İstemci gizli anahtarınızı OAuth İstemci gizli dizisine yapıştırma
  20. Kendi kapsamlarınızı girin alanında, yapıştırınhttps://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/gmail.send
  21. API'leri yetkilendir'i seçin ve onay sağlamak için istemleri izleyin

Not

Oyun alanında API'leri yetkilendirirken "Bu uygulama doğrulanmadı" yazan bir iletişim kutusu görürsen Gelişmiş'i ve ardından [uygulama adı] (güvenli değil) seçeneğine git'i seçin.

  1. API'ler yetkilendirildikten sonra, belirteçler için Exchange yetkilendirme kodunu seçin
  2. 24. adımda kullanmak için Yenileme belirtecinden belirteci kopyalayın
  3. Google hizmetlerine erişen onaylanmamış reklamları keşfetme gibi çözümlerde, kimlik bilgileri nesnesinin clientId, clientSecret, ve refreshToken alanlarını 13. ve 22. adımda aldığınız değerlere ayarlayın.

3. Seçenek - PowerShell betiği kullanarak yenileme belirteci alma

  1. Google Geliştirici Konsolu API'si kontrol paneline gidin
  2. Yeni bir proje oluşturmak için Proje oluştur'u seçin veya mevcut bir projeyi seçin
    1. Yeni bir proje oluşturuyorsanız, Proje Adı'na projenizin adını girin. Örneğin, Komut Dosyaları.
    2. Oluştur'u seçin
  3. Pano'daAPI'leri ve HİZMETLERİ ETKİNLEŞTİR'i seçin
  4. Arama kutusuna e-sayfaları girin ve Google E-Tablolar API'sini seçin. Sonra ETKİNLEŞTİR'i seçin
  5. Kontrol paneline Geri dön (API'leri & Hizmetleri seçin) ve Google Drive API için 3. ve 4. adımları tekrarlayın
  6. Kontrol paneline Geri dön (belirli API'ler & Hizmetler) ve Gmail API için 3. ve 4. adımları tekrarlayın
  7. Pano'da, sol gezinti bölmesinde Kimlik Bilgileri'ni seçin ve ardından ONAY EKRANINI YAPILANDIR'ı seçin. Bir Kullanıcı Türü seçmeniz istenirse, Harici'yi seçin ve ardından Oluştur'u seçin
  8. Uygulama adı alanına uygulamanızın adını (örneğin, Betikler istemcisi) girin ve bunu isteyen alanlara e-postanızı girin, ardından KAYDET VE DEVAM ET'i seçin
  9. KAPSAM EKLE VEYA KALDIR'ı seçin,.. /auth/drive ve .. /auth/gmail.send yazın ve ardından Güncelle'yi seçin
  10. KAYDET VE DEVAM ET'i seçin
  11. KULLANICI EKLE'yi seçin, Google e-postanızı girin ve EKLE'yi seçin
  12. Pano'da, sol gezinti bölmesindeki Kimlik Bilgileri'ni seçin, ardından Kimlik bilgileri oluştur'u seçin ve Oauth istemci kimliği'ni seçin
  13. Masaüstü uygulaması uygulama türünü seçin, bir ad girin (örneğin, Betikler istemci kimlik bilgileri) ve Oluştur'u seçin
  14. 15. ve 16. adımlarda kullanmak üzere istemci kimliğinizi ve istemci parolanızı kopyalayın ve ardından Tamam'ı seçin
  15. Kullanıcı onayı ve yenileme belirteci almak için bir PowerShell betiği oluşturun.

Erişim belirteci almak, yenileme belirteciniz yoksa kullanıcı onayı gerektirir. Ancak Betikler kullanıcı arabirimi bileşenlerini desteklemediğinden, başka bir şekilde onay almanız gerekir. Bu PowerShell, onay ve yenileme belirteci almak için bir seçenek sağlar.

Not Defteri'ni veya sık kullandığınız düzenleyiciyi açın ve PowerShell betiğini düzenleyiciye kopyalayın. $clientSecret Uygulamanızı kaydederken aldığınız istemci kimliğini ve parolayı ayarlayın $clientId (bkz. adım 13).

$clientId = "your-client-id"
$clientSecret = "your-client-secret"

$scopes = "https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/gmail.send"

Start-Process "https://accounts.google.com/o/oauth2/v2/auth?client_id=$clientId&scope=$([string]::Join("%20", $scopes))&access_type=offline&response_type=code&redirect_uri=urn:ietf:wg:oauth:2.0:oob"    
 
$code = Read-Host "Please enter the code"
   
$response = Invoke-WebRequest https://www.googleapis.com/oauth2/v4/token -ContentType application/x-www-form-urlencoded -Method POST -Body "client_id=$clientid&client_secret=$clientSecret&redirect_uri=urn:ietf:wg:oauth:2.0:oob&code=$code&grant_type=authorization_code"
  
Write-Output "Refresh token: " ($response.Content | ConvertFrom-Json).refresh_token 

Dosyayı kaydedin ve GetTokens.ps1 adlandırın (istediğiniz adı koyabilirsiniz, ancak uzantısı .ps1 olmalıdır).

Şimdi bir konsol penceresi açın. Microsoft Windows'ta bir konsol penceresi açmak için aşağıdaki Windows Çalıştır komutunu (<Windows düğmesi>+r) girin:

cmd.exe

Komut isteminde, GetTokens.ps1 kaydettiğiniz klasöre gidin ve aşağıdaki komutu girin:

powershell.exe -File .\GetTokens.ps1

PowerShell komut dosyası başarıyla çalıştırıldığında, Google kimlik bilgilerinizi girdiğiniz bir tarayıcı oturumu başlatır. Onay verdikten sonra, web sayfası hibe kodunu içerir (bkz. Lütfen bu kodu kopyalayın...).

Verme kodunu kopyalayın ve komut isteminde konsol penceresine girin. PowerShell betiği daha sonra bir yenileme belirteci döndürür. Yenileme belirtecini kopyalayın. Yenileme belirtecine parola gibi davranmalısınız; Birisi onu ele geçirirse, kaynaklarınıza erişebilir.

  1. Google hizmetlerine erişen onaylanmamış reklamları keşfetme gibi çözümlerde, kimlik bilgileri nesnesinin clientId, clientSecret, ve refreshToken alanlarını 13. ve 14. adımlarda aldığınız değerlere ayarlayın.