niedziela, 12 września 2010

Prostym Okiem na api facebooka

O symfony bedę pisał następnym razem. Dziś powiem co nieco o facebooku i jego api. Posłużę się tu banalnym przykładem ale chyba oddającym to co trzeba żeby zrozumieć ze api facebooka jest dość logicznie skonstruowane.

W wcześniejszych postach podałem link do polskiego opisu jak stworzyć prostą aplikacje z PHP pod facebooka.

Dziś chce wyjaśnić tym którzy nie rozumieją jej działanie. Nie chce tu przytaczać całego kodu aplikacji. Powinien on być zrozumiały. Chce pokazać jak prosto można wyciągać interesujące nas informacje i na nich pracować. Przykładowymi informacjami niech będzie imię i nazwisko naszych znajomych. Jak je zdobyć ?. Jest to bardzo proste zadanie.

Należy jednak pamiętać iż wcześniej musimy pobrać biblioteke dla PHP z strony facebook dla developerów. Link do strony jest umieszczony w jednym z początkowych postów.
Następnie dołączamy jak każdą inna bibliotekę w PHP  za pomocą komendy require_once 'facebook.php';
musimy pamiętać iż aby facebook nas rozpoznał i wiedział ze nasza aplikacja jest naszą aplikacją to nalezy podać 2 istotne parametry:
$appapikey = 'twój apikey'; // z wiadomych przyczyn nie podaje tu prawdziwych kodów tylko podaje miejsce gdzie nalezy je wpisać. Kody znajdziecie w panelu developera.
$appsecret = 'twój secret';
$facebook = new Facebook($appapikey, $appsecret);


skoro pojawia się słówko new to wiemy ze tworzymy nowy obiekt na którym będziemy pracować a ponieważ parametry tego obiektu to klucze, wiec tak właśnie facebook wie ze nasza aplikacja jest naszą aplikacja :).

Kolejna linijka to linia mówiąza o tym iż aby zobaczyć efekt działania pracy skryptu w facebooku wymagany jest login.

$user_id = $facebook->require_login();

A teraz trochę magii czyli api; Chce aby z $user_id pokazało mi się na ekranie nazwa użytkownika który uruchamia program. Nic prostszego, poniższa linia to załatwi :)

<fb:name uid='<?php echo $user_id; ?>' useyou='false' possessive='true' />

tagi <fb> to włansie taki facebooka . Powyższa linia mówi alby wyświetlić nazwę użytkownika jako parametr uid podajemy identyfikator użytkownika zapisany w zmiennej user_id dodatkowo np dzięki parametrowi possessive do naszej nazwy dodamy charakterystyczny w angielskiej pisowni symbol ('s)
na końcu. Prawda że łatwe :).

Ale wróćmy do celu. Chcemy wyświetlić imiona i nazwiska naszych znajomych nie siebie samego.
Wiec powiedzmy facebookowi że chcemy listę naszych znajomych.
$friends = $facebook->api_client->friends_get();
$friends = array_slice($friends, 0, 25);

Proszę bardzo i już ją mamy. Teraz zostało tylko przepuszczenie $friends przez pętle i już. Proponuje np tak:

foreach ($friends as $friend) {
  echo "<br>";
      $userinfo = $facebook->api_client->users_getInfo($friend, 'first_name');
      echo $userinfo[0]['first_name'];
    echo $userinfo[0]['last_name'];
}
echo "</p>";

To tyle. Powstanie piękna lista znajomych. Dostęp do poszczególnych elementów jak zdjęcia naszych znajomych czy cokolwiek innego nie jest trudniejszy ponieważ w facebooku wszystko nawet zdjecia są traktowane jak obiekty i każdy z nich ma swoją unikatową nazwę.

Jest to proste pokazanie co można zrobić. I że nie jest to wcale takie trudne. Do mojej aplikacji oczywiście potrzeba znacznie bardziej skomplikowanych struktur ale ten prosty przykład pokazuje ze api facebooka jest przystępne i logiczne a obiekty są nazywane z sensem. W trakcie budowy mojej aplikacji od czasu do czasu będę pokazywać na blogu jak niektóre rzeczy zostały napisane przeze-mnie. Kod całej aplikacji i tak będzie dostępny ale najbardziej interesujące fragmenty doczekają się szerszego opisu.

Brak komentarzy:

Prześlij komentarz