Z tego przewodnika dowiesz się, jak aplikacja autoryzuje żądania wysyłane do interfejsu User Deletion API.
Autoryzowanie żądań
Aby użytkownicy mogli wyświetlać informacje o koncie na stronie internetowej Google Analytics, muszą najpierw zalogować się na swoje konta Google. Podobnie, gdy użytkownicy po raz pierwszy otwierają Twoją aplikację, muszą autoryzować jej dostęp do swoich danych.
Każde żądanie wysyłane przez aplikację do interfejsu Analytics API musi zawierać token autoryzacji. Token stanowi też dla Google identyfikator aplikacji.
Informacje o protokołach autoryzacji
Twoja aplikacja musi autoryzować żądania za pomocą protokołu OAuth 2.0. Inne protokoły nie są obsługiwane. Jeśli aplikacja używa funkcji Zaloguj się przez Google, niektórymi aspektami autoryzacji nie musisz się zajmować.
Autoryzowanie żądań za pomocą protokołu OAuth 2.0
Wszystkie żądania wysyłane do interfejsu Analytics API muszą być autoryzowane przez uwierzytelnionego użytkownika.
Szczegóły procesu autoryzacji z użyciem protokołu OAuth 2.0 różnią się nieznacznie w zależności od rodzaju projektowanej aplikacji. Do większości typów aplikacji ma zastosowanie ten ogólny proces:
- Gdy tworzysz aplikację, rejestrujesz ją, korzystając z konsoli interfejsów API Google. Następnie Google przekazuje informacje, które są potrzebne później, takie jak identyfikator klienta i tajny klucz klienta.
- Aktywuj interfejs Analytics API w konsoli interfejsów API Google. (jeśli interfejsu API nie ma na liście w konsoli, pomijasz ten krok).
- Gdy Twoja aplikacja potrzebuje dostępu do danych użytkownika, prosi Google o konkretny zakres dostępu.
- Google wyświetla użytkownikowi ekran zgody z prośbą o autoryzowanie dostępu aplikacji do niektórych danych.
- Jeśli użytkownik wyrazi zgodę, Google przekazuje Twojej aplikacji ważny przez krótki czas token dostępu.
- Aplikacja żąda danych użytkownika i dołącza do żądania token dostępu.
- Jeśli Google uzna, że żądanie i token są prawidłowe, przesyła dane, o które prosisz.
Niektóre procesy obejmują dodatkowe kroki, takie jak wykorzystanie tokenów odświeżania do uzyskania nowych tokenów dostępu. Szczegółowe informacje o procesach obowiązujących w przypadku różnych typów aplikacji znajdziesz w dokumencie Google na temat protokołu OAuth 2.0.
Oto informacje o zakresie protokołu OAuth 2.0 dla interfejsu Analytics API:
Zakres | Znaczenie |
---|---|
https://www.googleapis.com/auth/analytics.user.deletion |
usunąć dane za pomocą interfejsu User Deletion API; |
Aby poprosić o dostęp przy użyciu protokołu OAuth 2.0, aplikacja potrzebuje danych z zakresu oraz informacji przekazywanych przez Google po zarejestrowaniu aplikacji (takich jak identyfikator klienta i tajny klucz klienta).
Wskazówka: biblioteki klienta interfejsów API Google mogą wykonać niektóre procesy autoryzacji za Ciebie. Są dostępne dla różnych języków programowania. Więcej szczegółów znajdziesz na stronie z bibliotekami i próbkami.
Typowe przepływy OAuth 2.0
Poniżej znajdziesz listę typowych zastosowań poszczególnych przepływów OAuth 2.0:
Serwer WWW
Ten proces jest odpowiedni do automatycznego, offline lub zaplanowanego dostępu do danych Google Analytics użytkownika.
Przykład:
- automatycznie aktualizuje panele użytkowników najnowszymi danymi Google Analytics.
Po stronie klienta
Ten proces jest idealny dla aplikacji, w których użytkownicy korzystają bezpośrednio z aplikacji, aby uzyskiwać dostęp do danych Google Analytics w przeglądarce. Nie wymaga to funkcji po stronie serwera, ale uniemożliwia automatyczne, offline lub zaplanowane raportowanie.
Przykład:
- Narzędzie do generowania raportów działające w przeglądarce, np. Narzędzia do wysyłania zapytań Analytics.
Zainstalowane aplikacje
Ten proces dotyczy aplikacji rozpowszechnianych w postaci pakietu i instalowanych przez użytkownika. Aby ukończyć proces uwierzytelniania, aplikacja lub użytkownik musi mieć dostęp do przeglądarki.
Przykłady:
- widżet na pulpicie na komputerze PC lub Macu.
- Wtyczka do systemu zarządzania treścią – zaletą tego procesu w porównaniu z serwerem WWW lub stroną klienta jest to, że w przypadku aplikacji można użyć jednego projektu w Konsoli API. Pozwala to na skonsolidowane raportowanie i ułatwia użytkownikom instalację.
Konta usługi
Konta usługi ułatwiają uzyskanie zautomatyzowanego, offline lub zaplanowanego dostępu do danych Google Analytics na Twoim koncie. Możesz np. utworzyć panel na żywo z własnymi danymi Google Analytics i udostępnić go innym użytkownikom.
Aby rozpocząć korzystanie z interfejsu Analytics API, musisz najpierw użyć narzędzia do konfiguracji, które przeprowadzi Cię przez proces tworzenia projektu w Konsoli interfejsów API Google, włączania interfejsu API i tworzenia danych logowania.
Aby skonfigurować nowe konto usługi, wykonaj te czynności:
- Kliknij Utwórz dane logowania > Klucz konta usługi.
- Wybierz, czy chcesz pobrać klucz publiczny/prywatny konta usługi jako standardowy plik P12, czy jako plik JSON, który można załadować w bibliotece klienta interfejsu API Google.
Nowa para kluczy publicznych/prywatnych zostanie wygenerowana i pobrana na Twoje urządzenie. To jedyny egzemplarz tego klucza. Twoim obowiązkiem jest bezpieczne przechowywanie danych.
Rozwiązywanie problemów
Autoryzacja nie powiedzie się w tych sytuacjach:
Jeśli
access_token
wygasł lub używasz nieprawidłowego zakresu interfejsu API, otrzymasz kod stanu401
.Jeśli upoważniony użytkownik nie ma dostępu do widoku (profilu), otrzymasz kod stanu
403
. Upewnij się, że masz uprawnienia do logowania się jako wybrany użytkownik i że ma on wybrany widok (profil).
Platforma testowa OAuth 2.0
To narzędzie umożliwia przejście przez cały proces autoryzacji w interfejsie internetowym. Narzędzie wyświetla też wszystkie nagłówki żądań HTTP wymagane do wykonania autoryzowanego zapytania. Jeśli nie możesz uzyskać autoryzacji do pracy we własnej aplikacji, spróbuj ją uruchomić w narzędziu OAuth 2.0 Playground. Następnie możesz porównać nagłówki i żądania HTTP z platformy Playground z tymi, które aplikacja wysyła do Google Analytics. To proste sprawdzenie pozwala upewnić się, że żądania są prawidłowo sformatowane.
Nieprawidłowe uwierzytelnienie
Gdy próbujesz użyć tokena odświeżania, zwracany jest błądinvalid_grant
:
- Zegar na serwerze nie jest zsynchronizowany z protokołem czasu sieciowego NTP.
- Przekroczono limit tokena odświeżania.
Aplikacje mogą prosić o kilka tokenów odświeżania, aby uzyskać dostęp do jednego konta Google Analytics.
Jeśli np. użytkownik chce zainstalować aplikację na wielu komputerach i mieć dostęp do tego samego konta Google Analytics, dla każdego z nich będzie wymagany oddzielny token. Gdy liczba tokenów odświeżania przekroczy limit, starsze tokeny staną się nieważne. Jeśli aplikacja spróbuje użyć nieważnego tokenu odświeżania, zwróci się odpowiedź z błędem invalid_grant
.
Limit dla każdej niepowtarzalnej pary klienta OAuth 2.0 i konta Google Analytics wynosi 25 tokenów odświeżania. Jeśli aplikacja będzie nadal prosić o tokeny odświeżania dla tego samego klienta i konta, po wydaniu 26. tokena pierwszy token odświeżania, który został wcześniej wydany, stanie się nieważny. 27. wymagany token odświeżania unieważniłby 2. poprzednio wydany token itd.