Rozwiązywanie problemów z uwierzytelnianiem i autoryzacją

Na tej stronie opisujemy kilka typowych problemów 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”, aplikacja żąda zakresów umożliwiających dostęp do poufnych danych użytkownika. Jeśli aplikacja korzysta z zakresów wrażliwych, musi przejść proces weryfikacji, aby usunąć to ostrzeżenie i inne ograniczenia. Na etapie programowania możesz dalej pomijać to ostrzeżenie, wybierając Zaawansowane > Przejdź do {Project Name} (niebezpieczne).

File not found error for credentials.json

Po uruchomieniu przykładowego kodu może pojawić się komunikat o błędzie „Nie znaleziono pliku” lub „Nie ma takiego pliku” związany z danymi uwierzytelniającymi.json.

Ten błąd występuje, jeśli nie autoryzowano danych logowania do aplikacji komputerowej. Aby dowiedzieć się, jak utworzyć dane logowania dla aplikacji komputerowej, przeczytaj artykuł 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 rozwiązaniach znajdziesz w artykule Wygaśnięcie tokena odświeżania.

Błędy JavaScriptu

Oto kilka częstych błędów JavaScriptu.

Error: origin_mismatch

Ten błąd występuje podczas procesu autoryzacji, jeśli host i port służący do wyświetlania strony internetowej nie są zgodne z dozwolonym źródłem JavaScriptu w projekcie w konsoli Google Cloud. Sprawdź, czy masz ustawione autoryzowane źródło JavaScriptu i czy adres URL w przeglądarce odpowiada adresowi źródła.

idpiframe_initialization_failed: Failed to read the 'localStorage' property from 'Window'

Ten błąd występuje, gdy w przeglądarce nie są włączone pliki cookie innych firm i przechowywanie danych. Te opcje są wymagane przez bibliotekę logowania przez Google. Więcej informacji znajdziesz w artykule na temat plików cookie innych firm i przechowywania danych.

idpiframe_initialization_failed: Not a valid origin for the client

Ten błąd występuje, gdy zarejestrowana domena nie jest zgodna z domeną używaną do hostowania strony internetowej. Sprawdź, czy zarejestrowane źródło jest zgodne z adresem URL w przeglądarce.

Błędy Pythona

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

Ten błąd może wystąpić w systemie Mac OS X, gdy domyślna instalacja modułu six (zależność biblioteki Pythona) jest załadowana przed tym, który zainstalowano pip. Aby rozwiązać ten problem, dodaj lokalizację instalacji pip do systemowej zmiennej środowiskowej PYTHONPATH:

  1. Określ lokalizację instalacji pip:

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

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

  2. Dodaj do pliku ~/.bashrc ten wiersz, zastępując INSTALL_PATH lokalizacją określoną w poprzednim 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 usłudze httplib2. Aby rozwiązać ten problem, zaktualizuj oprogramowanie 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 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.