Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Google Analytics API offline
htk
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 8.07.2011

Ostrzeżenie: (0%)
-----


Witam,

Opiszę najpierw co chcę osiągnąć oraz co już zrobiłem.

Chcę stworzyć stronę, na której będzie przycisk odpowiadający za autoryzację z usługami Google (OAUTH). Po zalogowaniu w usługach Google mam dostęp do kont w ramach usługi Google Analytics. Wybieram więc, konto z widokiem, które mnie interesują i na tej podstawie wyświetlam np. ilośc odwiedzin, słowa kluczowe, itp. w określonym zakresie czasowym. Do tego momentu mam to zrobione.
Problem polega na tym, iż chcę bym za jakiś czas, np. następnego dnia nie musiał ponownie uzyskiwać autoryzacji do usługi Google (ponownie wpisywac loginu i hasła), lecz wcześniej zapamiętuję ID danego widoku z Google Analytics i na tej podstawie znowu wyświetlam dane z GA.

Będę wdzięczny za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
memory
post
Post #2





Grupa: Zarejestrowani
Postów: 616
Pomógł: 84
Dołączył: 29.11.2006
Skąd: bełchatów

Ostrzeżenie: (0%)
-----


Chcesz mieć internet bez internetu ? (IMG:style_emoticons/default/biggrin.gif) . Dane offline wyświetli tylko maszyna lokalna więc dane trzeba gdzieś zapisać (Baza SQL itd).
Go to the top of the page
+Quote Post
htk
post
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 8.07.2011

Ostrzeżenie: (0%)
-----


Chodzi mi o dostęp w trybie offline do Google Analytics, tzn. bez pnownego logowania. Takie rzeczy są możliwe, bo sam korzystam z narzędzia, które coś takiego mi umożliwia (IMG:style_emoticons/default/smile.gif)

Czyli nikt, nic?
Go to the top of the page
+Quote Post
IProSoft
post
Post #4





Grupa: Zarejestrowani
Postów: 479
Pomógł: 97
Dołączył: 6.09.2011
Skąd: php.net :)

Ostrzeżenie: (0%)
-----


Jeśli już to nie chodzi Ci o dostęp offline, tylko bez ponownej autoryzacji, a to spora różnica ( chyba, że chcesz jak napisał kolega wyżej - internet bez internetu ).

Podobną funkcjonalność uzyskałem kiedyś z użyciem tej biblioteki: http://code.google.com/p/gapi-google-analy...-php-interface/

Go to the top of the page
+Quote Post
htk
post
Post #5





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 8.07.2011

Ostrzeżenie: (0%)
-----


Cały czas chodzi mi o dostęp offline GA (dla niekumatych: https://developers.google.com/accounts/docs...Server#offline).

Z pomocą przyszedł mi Krzysiek (http://krzysztof.dyszczyk.pl/offline-access-w-google-plus/) - jednak jego rozwiązanie wymagało poprawek.

Poniżej rozwiązanie:

  1. //standardowa autoryzacja
  2. $client = new Google_Client();
  3. $client->setApplicationName("XXX");
  4. $client->setDeveloperKey("XXX");
  5. $client->setClientId('XXX');
  6. $client->setClientSecret('XXX');
  7. $client->setRedirectUri('XXX');
  8. $client->setScopes(array('https://www.googleapis.com/auth/analytics.readonly'));
  9. $client->setAccessType('offline');
  10.  
  11. /**
  12. tutaj zakładam, że zdobywamy klasyczny access token, nie załączam tego kodu
  13. **/
  14.  
  15. // gdy już mamy token to zapisujemy go na później powiedzmy, że w pliku
  16. file_put_contents('access_token.txt', $_SESSION['token']);


Teraz, gdy potrzebujemy się połączyć z GA offline (bez ponownego logowania) wystarczy odświeżyć token na podstawie tego zapisanego w pliku:

  1. $access_token = file_get_contents('access_token.txt');
  2. $obj = json_decode($access_token);
  3. $json_token = $obj->{'access_token'};
  4. $client->refreshToken($json_token);


Przy standardowej autoryzacji należy jeszcze dodać:

  1. $client->setApprovalPrompt('force');


Pozwoli to na uzyskanie Refresh Tokena.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 04:15