Z tego przewodnika dowiesz się, jak aplikacja autoryzuje żądania do interfejsu User Deletion API.
Autoryzowanie żądań
Zanim użytkownicy będą mogli wyświetlić informacje o swoim koncie w witrynie Google Analytics, muszą najpierw zalogować się na swoje konta Google. Podobnie gdy użytkownicy po raz pierwszy uzyskują dostęp do Twojej aplikacji, muszą autoryzować ją, aby mogła uzyskać dostęp do ich 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 zakres danych protokołu OAuth 2.0 dla interfejsu Analytics API:
| Zakres | Znaczenie |
|---|---|
https://www.googleapis.com/auth/analytics.user.deletion |
Usuwanie danych 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 typowe przypadki użycia poszczególnych przepływów OAuth 2.0:
Serwer internetowy
Ten proces jest odpowiedni w przypadku automatycznego, offlineowego lub zaplanowanego dostępu do danych Google Analytics użytkownika.
Przykład:
- automatyczne aktualizowanie paneli użytkowników najnowszymi danymi Google Analytics;
Po stronie klienta
Ten proces jest idealny w przypadku aplikacji, w których użytkownicy wchodzą w interakcje bezpośrednio z aplikacją, aby uzyskać dostęp do danych Google Analytics w przeglądarce. Eliminuje to potrzebę korzystania z funkcji po stronie serwera, ale utrudnia automatyczne, offline’owe lub zaplanowane raportowanie.
Przykład:
- Narzędzie do raportowania w przeglądarce, np. Eksplorator zapytań Analytics.
Zainstalowane aplikacje
Ten proces dotyczy aplikacji rozpowszechnianych w postaci pakietu i instalowanych przez użytkownika. Ten proces wymaga, aby aplikacja lub użytkownik mieli dostęp do przeglądarki, w której można przeprowadzić uwierzytelnianie.
Przykłady:
- Widżet na komputerze PC lub Macu.
- Wtyczka do systemu zarządzania treścią – zaletą tego procesu w porównaniu z serwerem internetowym lub po stronie klienta jest to, że w przypadku aplikacji można użyć jednego projektu w konsoli interfejsów API. Umożliwia to tworzenie skonsolidowanych raportów i ułatwia użytkownikom instalację.
Konta usługi
Konta usługi są przydatne w przypadku zautomatyzowanego, offline’owego lub zaplanowanego dostępu do danych Google Analytics na Twoim koncie. Możesz na przykład 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 i włączania interfejsu API.
Aby skonfigurować nowe konto usługi:
- Kliknij Utwórz dane logowania > Klucz konta usługi.
- Wybierz, czy chcesz pobrać klucz publiczny lub prywatny konta usługi jako standardowy plik P12, czy jako plik JSON, który można wczytać za pomocą biblioteki 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 jego bezpieczne przechowywanie.
Rozwiązywanie problemów
Autoryzacja nie powiedzie się w tych sytuacjach:
Jeśli Twój
access_tokenwygasł lub używasz nieprawidłowego zakresu interfejsu API, otrzymasz kod stanu401.Jeśli autoryzowany użytkownik nie ma dostępu do widoku (profilu), otrzymasz kod stanu
403. Upewnij się, że masz autoryzację odpowiedniego użytkownika i że ma on widok (profil), który został przez Ciebie wybrany.
OAuth 2.0 Playground
To narzędzie umożliwia przejście całego procesu autoryzacji w interfejsie internetowym. Narzędzie wyświetla też wszystkie nagłówki żądań HTTP wymagane do wysłania autoryzowanego zapytania. Jeśli nie możesz uzyskać autoryzacji w swojej aplikacji, spróbuj to zrobić w narzędziu OAuth 2.0 Playground. Następnie możesz porównać nagłówki HTTP i żądanie z playgroundu z tym, co Twoja aplikacja wysyła do Google Analytics. To proste sprawdzenie pozwala upewnić się, że żądania są prawidłowo sformatowane.
Nieprawidłowe uprawnienia
Gdy spróbujesz użyć tokena odświeżania, zobaczysz błądinvalid_grant:
- Zegar serwera nie jest zsynchronizowany z protokołem czasu sieciowego (NTP).
- Przekroczono limit tokenów odświeżania.
Aplikacje mogą prosić o wiele tokenów odświeżania, aby uzyskać dostęp do jednego konta Google Analytics.
Jeśli na przykład użytkownik chce zainstalować aplikację na kilku komputerach i uzyskać dostęp do tego samego konta Google Analytics, na każdym komputerze będzie potrzebny osobny token. Gdy liczba tokenów odświeżania przekroczy limit, starsze tokeny staną się nieważne. Jeśli aplikacja spróbuje użyć unieważnionego tokena odświeżania, zostanie zwrócona odpowiedź o błędzie invalid_grant.
Limit dla każdej unikalnej pary klienta OAuth 2.0 i konta Google Analytics wynosi 25 tokenów odświeżania. Jeśli aplikacja nadal będzie żądać tokenów odświeżania dla tej samej pary klient/konto, po wydaniu 26 tokena pierwszy wydany wcześniej token odświeżania stanie się nieważny. 27 prośba o odświeżenie tokena unieważniłaby 2 wcześniej wydany token i tak dalej.