Google plus api
Google plus api pozwala programistom na pobieranie publicznych danych z Google+.
Celem api jest stworzenie interfejsu dzięki któremu można zintegrować aplikację z Google+. W dwóch skryptach przyjrzymy się podstawowym aspektom api.
Api wymaga autoryzacji dostępu za pomocą OAuth 2.0 lub api key (dostęp tylko do publicznych danych użytkownika). W celu jego uzyskania należy wejść na stronę
api console i zalogować się swoim kontem google. Następnie klikamy na Create Project i podajemy nazwę naszego projektu.
Na liście dostępnych serwisów znajdujemy Google+ API i klikamy ikonkę off, która po zaakceptowaniu regulaminu powinna zmienić się na zielone On.
Następnie wchodzimy na zakładkę api access i generujemy api key.
Stworzymy prostą aplikację pobierającą podstawowe informacje z profilu użytkownika. Najpierw pobierzemy
Google api php client. Jest to tzw. aplikacja startowa php, na której będziemy się wzorować.
Rozpakowujemy paczkę i kopiujemy folder do katalogu głównego naszej aplikacji. W pierwszym przykładzie wykorzystamy api key, a w drugim OAuth.
Na początek stwórzmy plik php np. index.php.
Na początku includujemy dwa pliki z katalogu src pobranej paczki. Następnie tworzymy obiekt klasy apiClient. Ustawiamy nazwę aplikacji i
podajemy api key. Następnie w zmiennej $plus zapisujemy obiekt apiPlusService. Podstawowe informacje z profilu
użytkownika możemy łatwo otrzymać wywołując $plus->people->get('id uzytkownika'). Zwraca ona dane w postaci tablicy. Zawartość tablicy zależy od tego
jakie dane użytkownik udostępnia publicznie. Jak widzimy w następnych linijkach kodu pod kluczem displayName znajduje się wyświetlana nazwa
użytkownika (zazwyczaj imię i nazwisko), pod kluczem url - adres url do profilu użytkownika itp. Najlepiej przyjrzeć się tablicy wykonując na niej funkcję
print_r. W skrócie wyświetlamy zdjęcie profilowe linkujące do profilu użytkownika oraz obok jego name (imię i nazwisko).
Możemy również pobrać aktywności użytkownika. W tym celu dopiszmy do naszego kodu.
W zmiennej $optParams zapisujemy tablicę parametrów (w naszym przypadku jeden parametr oznaczający maksymalną liczbę
zwróconych aktywności), którą przekazujemy później do metody listActivities. W odpowiedzi otrzymamy tablicę aktywności. Możemy przez nią przejść np. petlą
foreach i wyświetlić takie dane jakie chcemy. Podobnie jak poprzednio warto najpierw użyć print_r aby zobaczyć
jakie elementy mamy w tablicy do dyspozycji.
Przejdziemy teraz do drugiego przykładu wykorzystującego OAuth. Będziemy wyświetlać informacje dotyczące aktualnie uwierzytelnionego użytkownika. Utwórzmy zatem klucz OAuth. Wchodzimy na zakładkę api access i klikamy Create an OAuth 2.0 client ID.
W następnym kroku podajemy nazwę produktu i uploadujemy logo.
W kolejnym kroku wybieramy typ aplikacji i host.
Otrzymamy client id, client secret. Będziemy je musieli podać w aplikacji.
Początek nowego pliku jest taki sam. Potem zamiast api keya podajemy wygenerowany wcześniej client id, api secret oraz redirect uri.
Kolejne linijki kodu to już przebieg uwierzytelniania przy użyciu OAuth 2.0. W zależności czy użytkownik jest uwierzytelniony (posiada access token)
czy nie wyświetlamy mu jego dane profilowe oraz aktywności lub link do uwierzytelnienia się.
Zauważmy, że tam gdzie wcześniej podawaliśmy id użytkownika piszemy me. Oznacza to, że pobieramy dane dla aktualnie uwierzytelnionego użytkownika.
Dodaj do:
Api wymaga autoryzacji dostępu za pomocą OAuth 2.0 lub api key (dostęp tylko do publicznych danych użytkownika). W celu jego uzyskania należy wejść na stronę
api console i zalogować się swoim kontem google. Następnie klikamy na Create Project i podajemy nazwę naszego projektu.
Na liście dostępnych serwisów znajdujemy Google+ API i klikamy ikonkę off, która po zaakceptowaniu regulaminu powinna zmienić się na zielone On.
Code Kopiuj txt
- <!doctype html>
- <html>
- <head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8" />
- </head>
- <body>
- <?php
- require_once 'google-api-php-client/src/apiClient.php';
- require_once 'google-api-php-client/src/contrib/apiPlusService.php';
- $client = new apiClient();
- $client->setApplicationName("Google+ Tutorial");
- $client->setDeveloperKey('TWOJ_API_KEY');
- $plus = new apiPlusService($client);
- $me = $plus->people->get('id uzytkownika');
- print '<a href="'.$me['url'].'"><img style="float:left;" src="'.$me['image']['url'].'" alt="" /></a>';
- ?>
- </body>
- </html>
Code Kopiuj txt
- $activities = $plus->activities->listActivities('id uzytkownika', 'public', $optParams);//pobranie aktywności
- foreach ($activities['items'] as $activity) {
- $actor = $activity['actor'];
- }
Przejdziemy teraz do drugiego przykładu wykorzystującego OAuth. Będziemy wyświetlać informacje dotyczące aktualnie uwierzytelnionego użytkownika. Utwórzmy zatem klucz OAuth. Wchodzimy na zakładkę api access i klikamy Create an OAuth 2.0 client ID.
W następnym kroku podajemy nazwę produktu i uploadujemy logo.
W kolejnym kroku wybieramy typ aplikacji i host.
Otrzymamy client id, client secret. Będziemy je musieli podać w aplikacji.
Początek nowego pliku jest taki sam. Potem zamiast api keya podajemy wygenerowany wcześniej client id, api secret oraz redirect uri.
Code Kopiuj txt
- require_once 'google-api-php-client/src/apiClient.php';
- require_once 'google-api-php-client/src/contrib/apiPlusService.php';
- $client = new apiClient();
- $client->setApplicationName("Google+ Tutorial");
- $client->setClientId('insert_your_oauth2_client_id');
- $client->setClientSecret('insert_your_oauth2_client_secret');
- $client->setRedirectUri('http://example.com/path/to/myapp.php');
- $plus = new apiPlusService($client);
Code Kopiuj txt
- <?php
- }
- $client->authenticate();
- $_SESSION['access_token'] = $client->getAccessToken();
- }
- $client->setAccessToken($_SESSION['access_token']);
- }
- if ($client->getAccessToken()) {
- $me = $plus->people->get('me');
- $url = $me['url'];
- $img = $me['image']['url'];
- $name = $me['displayName'];
- $personMarkup = "<a rel='me' href='$url'>$name</a><div><img src='$img?sz=82'></div>";
- $activities = $plus->activities->listActivities('me', 'public', $optParams);
- $activityMarkup = '';
- foreach($activities['items'] as $activity) {
- $url = $activity['url'];
- $title = $activity['title'];
- $content = $activity['object']['content'];
- $activityMarkup .= "<div class='activity'><a href='$url'>$title</a><div>$content</div></div>";
- }
- }
- $_SESSION['access_token'] = $client->getAccessToken();
- } else {
- $authUrl = $client->createAuthUrl();
- }
- ?>
- <!doctype html>
- <html>
- <head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8" />
- <link rel='stylesheet' href='style.css' /></head>
- <body>
- <header><h1>Google+ Tutorial</h1></header>
- <div class="box">
- <?php endif ?>
- <?php endif ?>
- <?php
- } else {
- }
- ?>
- </div>
- </body>
- </html>
Podobne artykuły
Brak komentarzy
Dodaj komentarz







