Na tej stronie opisujemy niektóre typowe problemy związane z uwierzytelnianiem i autoryzacją.
This app isn't verified
Jeśli na ekranie zgody OAuth wyświetla się ostrzeżenie „Ta aplikacja nie jest zweryfikowana”, oznacza to, że aplikacja żąda zakresów zapewniających dostęp do poufnych danych użytkownika. Jeśli aplikacja korzysta z zakresów wrażliwych, musi przejść proces weryfikacji w celu usunięcia tego ostrzeżenia i innych ograniczeń. Na etapie programowania możesz kontynuować ominięcie tego ostrzeżenia, wybierając Zaawansowane > Przejdź do {Project Name} (niebezpieczny).
File not found error for credentials.json
Po uruchomieniu przykładowego kodu może pojawić się komunikat o błędzie „nie znaleziono pliku” lub „brak takiego pliku” związany z danymi uwierzytelniającymi.json.
Ten błąd występuje, jeśli dane logowania do aplikacji komputerowej nie zostały autoryzowane. Aby dowiedzieć się, jak utworzyć dane logowania dla aplikacji komputerowej, przeczytaj artykuł Tworzenie danych logowania.
Po utworzeniu danych logowania sprawdź, czy pobrany plik JSON jest zapisany jako credentials.json
. Następnie przenieś plik do katalogu roboczego.
Token has been expired or revoked
Po uruchomieniu przykładowego kodu może pojawić się 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 rozwiązaniach znajdziesz w artykule o wygaśnięciu tokenów odświeżania.
Błędy Pythona
Oto 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 Mac OSX, gdy domyślna instalacja modułu six
(zależność biblioteki Pythona) jest wczytywana przed tym, który zainstalowano pip. Aby rozwiązać ten problem, dodaj lokalizację instalacji pip do zmiennej środowiskowej PYTHONPATH
:
Określ lokalizację instalacji pip:
pip show six | grep "Location:" | cut -d " " -f2
Zanotuj tę lokalizację, ponieważ będzie potrzebna w następnym kroku.
Dodaj do pliku
~/.bashrc
ten wiersz, zastępującINSTALL_PATH
lokalizacją określoną w poprzednim kroku:export PYTHONPATH=$PYTHONPATH:INSTALL_PATH
Załaduj ponownie plik
~/.bashrc
:source ~/.bashrc
TypeError: sequence item 0: expected str instance, bytes found
Ten błąd jest spowodowany błędem w usłudze httplib2
. Aby rozwiązać ten problem, uaktualnij httplib2
do najnowszej wersji:
pip install --upgrade httplib2
Cannot uninstall 'six'
Po uruchomieniu 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 macOSX, gdy pip próbuje uaktualnić fabrycznie zainstalowany pakiet six
. Aby obejść ten problem, dodaj do polecenia pip install
flagę --ignore-installed six
.