Rozwiązywanie problemów z uwierzytelnianiem i autoryzacją

Na tej stronie znajdziesz opis kilku częstych problemów związanych z uwierzytelnianiem i autoryzacją.

This app isn't verified

Jeśli na ekranie zgody OAuth wyświetla się ostrzeżenie „Ta aplikacja nie została zweryfikowana”, oznacza to, że aplikacja prosi o zakresy, które dają dostęp do poufnych danych użytkownika. Jeśli Twoja aplikacja używa zakresów wrażliwych, musi przejść proces weryfikacji, aby usunąć to ostrzeżenie i inne ograniczenia. Na etapie programowania możesz pominąć to ostrzeżenie, wybierając Zaawansowane > Przejdź do {Project Name} (niebezpieczne).

File not found error for credentials.json

Podczas uruchamiania przykładowego kodu może pojawić się komunikat o błędzie „Nie znaleziono pliku” lub „nie ma takiego pliku” dotyczący plikucredential.json.

Ten błąd występuje, jeśli nie autoryzowano danych logowania aplikacji komputerowej. Więcej informacji o tworzeniu danych logowania w aplikacji komputerowej znajdziesz w artykule Tworzenie danych logowania.

Po utworzeniu danych logowania sprawdź, czy pobrany plik JSON został zapisany jako credentials.json. Następnie przenieś plik do katalogu roboczego.

Token has been expired or revoked

Po uruchomieniu przykładowego kodu możesz zobaczyć komunikat o błędzie „Token wygasł” lub „Token został unieważniony”.

Ten błąd występuje, gdy token dostępu z serwera autoryzacji Google wygasł lub został unieważniony. Informacje o potencjalnych przyczynach i sposobach eliminacji znajdziesz w artykule Odświeżanie wygaśnięcia tokena.

Błędy Pythona

Poniżej znajduje się kilka typowych błędów w Pythonie.

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

Ten błąd może wystąpić w systemie Mac OSX, gdy domyślna instalacja modułu six (zależność biblioteki Pythona) jest wczytywana przed zainstalowaniem modułu pip. Aby rozwiązać ten problem, dodaj lokalizację instalacji pip do zmiennej środowiskowej PYTHONPATH:

  1. Określ lokalizację instalacji pip:

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

    Zanotuj tę lokalizację, ponieważ będzie potrzebna w następnym kroku.

  2. Dodaj ten wiersz do pliku ~/.bashrc, zastępując INSTALL_PATH lokalizacją określoną na podstawie poprzedniego kroku:

    export PYTHONPATH=$PYTHONPATH:INSTALL_PATH
    
  3. Załaduj ponownie plik ~/.bashrc:

    source ~/.bashrc
    

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

Ten błąd wynika z błędu w httplib2. Aby rozwiązać ten problem, uaktualnij httplib2 do najnowszej wersji:

pip install --upgrade httplib2

Cannot uninstall 'six'

Podczas uruchamiania polecenia pip install może pojawić się ten błąd:

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.

Ten błąd występuje w systemie Mac OS X, gdy pip próbuje uaktualnić wstępnie zainstalowany pakiet six. Aby obejść ten problem, dodaj do polecenia pip install flagę --ignore-installed six.