Kimlik doğrulama ve yetkilendirme sorunlarını giderme

Bu sayfada, kimlik doğrulama ve yetkilendirme ile ilgili karşılaşabileceğiniz bazı yaygın sorunlar açıklanmaktadır.

This app isn't verified

OAuth kullanıcı rızası ekranında "Bu uygulama doğrulanmadı" uyarısı gösteriliyorsa uygulamanız, hassas kullanıcı verilerine erişim sağlayan kapsamlar istiyor demektir. Uygulamanız hassas kapsamlar kullanıyorsa bu uyarıyı ve diğer sınırlamaları kaldırmak için doğrulama sürecinden geçmesi gerekir. Geliştirme aşamasında Gelişmiş > {Proje Adı} adlı projeye git (güvenli değil)'i seçerek bu uyarıyı atlayabilirsiniz.

File not found error for credentials.json

Kod örneğini çalıştırırken kimlik bilgileriyle ilgili olarak "file not found" (dosya bulunamadı) veya "no such file" (böyle bir dosya yok) hata mesajı alabilirsiniz.

Bu hata, masaüstü uygulaması kimlik bilgilerini yetkilendirmediğinizde oluşur. Masaüstü uygulaması için kimlik bilgileri oluşturmayı öğrenmek istiyorsanız Kimlik bilgileri oluşturma başlıklı makaleyi inceleyin.

Kimlik bilgilerini oluşturduktan sonra indirilen JSON dosyasının credentials.json olarak kaydedildiğinden emin olun. Ardından dosyayı çalışma dizininize taşıyın.

Token has been expired or revoked

Kod örneğini çalıştırırken "Token has been expired" (Jetonun süresi doldu) veya "Token has been revoked" (Jeton iptal edildi) hata mesajını alabilirsiniz.

Bu hata, Google yetkilendirme sunucusundan alınan erişim jetonunun süresi dolduğunda veya jeton iptal edildiğinde oluşur. Olası nedenler ve düzeltmeler hakkında bilgi edinmek için Yenileme jetonu geçerlilik süresi başlıklı makaleyi inceleyin.

Python hataları

Aşağıda sık karşılaşılan bazı Python hataları verilmiştir.

AttributeError: 'Module_six_moves_urllib_parse' object has no attribute 'urlparse'

Bu hata, Mac OSX'te six modülünün (Python kitaplığının bağımlılığı) varsayılan yüklemesi, pip ile yüklenen modülden önce yüklendiğinde ortaya çıkabilir. Sorunu düzeltmek için pip'in yükleme konumunu PYTHONPATH sistem ortamı değişkenine ekleyin:

  1. pip'in yükleme konumunu belirleyin:

    pip show six | grep "Location:" | cut -d " " -f2
    

    Bir sonraki adımda bu konuma ihtiyacınız olacağından konumu not edin.

  2. ~/.bashrc dosyanıza aşağıdaki satırı ekleyin ve INSTALL_PATH yerine önceki adımda belirlenen konumu girin:

    export PYTHONPATH=$PYTHONPATH:INSTALL_PATH
    
  3. ~/.bashrc dosyanızı yeniden yükleyin:

    source ~/.bashrc
    

TypeError: sequence item 0: expected str instance, bytes found

Bu hata, httplib2'daki bir hatadan kaynaklanır. Bu sorunu çözmek için httplib2 uygulamasını en yeni sürüme yükseltin:

pip install --upgrade httplib2

Cannot uninstall 'six'

pip install komutunu çalıştırırken aşağıdaki hatayı alabilirsiniz:

Cannot uninstall 'six'. It is a distutils installed project and thus we
cannot accurately determine which files belong to it which would lead to
only a partial uninstall.

Bu hata, pip önceden yüklenmiş six paketini yükseltmeye çalıştığında Mac OSX'te oluşur. Bu sorunu gidermek için pip install komutuna --ignore-installed six işaretini ekleyin.