מדריך פיתוח אפליקציה לפייסבוק חלק ב'

במאמר הקודם הראיתי איך ליצור אפליקציית פייסבוק שיושבת ב-iframe – ובלשון פייסבוק היא נקראת canvas.

האפליקציה שבנינו נראית כך:


<?php
require 'facebook.php';


// Create our Application instance.
$facebook = new Facebook(array(
  'appId'  => '103416056376001',
  'secret' => '3891bddd024083068c456d0ea9873c72',
  'cookie' => true
));
    $user  = $facebook->getUser(); //האם המשתמש מחובר
    
    $loginUrl = $facebook->getLoginUrl( //קישור לחיבור + ההרשאות המבוקשות
            array(
                'scope' => 'email,publish_stream,user_birthday,user_location,user_work_history,user_about_me,user_hometown'
            )
    );

    if ($user) { //בדיקה אם המשתמש קיים
		$fbme = $facebook->api('/me');
		print "Welcome User ID: " . $user;
		print_r($fbme);
    }
    else if (!$user) {
        echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
        exit;
    }

מה שהאפליקציה הנחמדה הזו עושה היא לבצע אותנטיקציה ולאחר הרישום היא מציגה בפני המשתמש את השם שלו באמצעות מתודת getUser ומבצעת קריאה ל-API של פייסבוק באמצעות מתודת api (תודו שהשם של המתודה הוא מקורי).

כלומר, לאחר שיש לנו session, אנחנו עושים את הדבר הבא:


	$fbme = $facebook->api('/me');	
	print_r($fbme);

מתודת ה-api היא חשובה מאד, היא מאפשרת לנו ליצור קשר עם Graph API של גוגל ולקבל מידע רב על המשתמש וכן לבצע פעילות. דוקומנטציה (נכון לזמן כתיבת שורות אלו, איומה למדי) נמצאת כאן. בואו וניתן כמה דוגמאות ממנה.
הדוגמא הראשונה היא הקריאה לme/. אובייקט me הוא האובייקט הגלוי של פייסבוק למשתמש ומכיל את כל הפרטים בפרופיל. הייתי מפנה אתכם לתיעוד בדוקומנטציה, אבל אין כזה.
אז במקום זה אני אראה לכם את האובייקט שלי:


Array
(
    [id] => 100000847860515
    [name] => Ran Bar-Zik
    [first_name] => Ran
    [last_name] => Bar-Zik
    [link] => http://www.facebook.com/rbarzik
    [about] => My professional site: http://www.internet-israel.com
 
My professional profile:
http://www.linkedin.com/in/barzik
 
My twitter: http://twitter.com/barzik
 
Internet Israel Facebook page: http://www.facebook.com/pages/Internet-Israel/381080841390
    [location] => Array
        (
            [id] => 1.13249615354E+14
            [name] => Petah Tiqwa, Hamerkaz, Israel
        )
 
    [work] => Array
        (
            [0] => Array
                (
                    [employer] => Array
                        (
                            [id] => 1.05554322814E+14
                            [name] => marketology
                        )
 
                    [location] => Array
                        (
                            [id] => 1.05603269475E+14
                            [name] => Tel Aviv
                        )
 
                    [position] => Array
                        (
                            [id] => 1.14106688606E+14
                            [name] => Leading Web Developer
                        )
 
                    [start_date] => 2010-02
                    [end_date] => 0000-00
                )
 
        )
 
    [education] => Array
        (
            [0] => Array
                (
                    [school] => Array
                        (
                            [id] => 1.05960532778E+14
                            [name] => Shazar High School
                        )
 
                    [year] => Array
                        (
                            [id] => 1.09548059092E+14
                            [name] => 1991
                        )
 
                )
 
            [1] => Array
                (
                    [school] => Array
                        (
                            [id] => 1.12508188761E+14
                            [name] => Ben-Gurion University of the Negev
                        )
 
                    [year] => Array
                        (
                            [id] => 1.21884554494E+14
                            [name] => 1998
                        )
 
                    [concentration] => Array
                        (
                            [0] => Array
                                (
                                    [id] => 1.16410538371E+14
                                    [name] => Economist
                                )
 
                        )
 
                )
 
        )
 
    [gender] => זכר
    [email] => ran@bar-zik.com
    [timezone] => 3
    [verified] => 1
    [updated_time] => 2010-06-05T07:52:40+0000
)
 

זה מה שמתקבל כאשר אני מדפיס את me באמצעות ה-API. אבל אפשר לראות שחסרים פה לא מעט דברים – רשימת החברים שלי, רשימת האירועים שבהם אני משתתף, רשימת הלייקים שעשיתי וכו' וכו'. כל הדברים האלו נקראים בפייסבוקית מדוברת 'קשרים'. ברגע שהוספתי מישהו לחברים שלי, יצרתי קשר ביני לבינו. ברגע שאישרתי, דחיתי או רשמתי אולי על אירוע מסוים יצרתי בינו לביני קשר. את הקשרים האלו גם קל למצוא באמצעות ה-GRAPH API. כך למשל, אם אני רוצה למצוא את הפוסטים האחרונים שכתבתי, עלי לשנות את קריאת ה-api שלי ל:


$fbme = $facebook->api('/me/feed');	

ובבת אחת אני אקבל את כל הקיר שכתבתי (25 הודעות אחרונות). אני יכול לקבל עוד פרטי מידע כמו:

Friends: https://graph.facebook.com/me/friends
News feed: https://graph.facebook.com/me/home
Profile feed (Wall): https://graph.facebook.com/me/feed
Likes: https://graph.facebook.com/me/likes
Movies: https://graph.facebook.com/me/movies
Books: https://graph.facebook.com/me/books
Notes: https://graph.facebook.com/me/notes
Photo Tags: https://graph.facebook.com/me/photos
Photo Albums: https://graph.facebook.com/me/albums
Videos: https://graph.facebook.com/me/videos
Events: https://graph.facebook.com/me/events
Groups: https://graph.facebook.com/me/groups

(את זה העתקתי מהדוקומנטציה האומללה של פייסבוק)

שימו לב! אם לא ביקשתם הרשאות מתאימות בתהליך האותנטיקציה, לא תוכלו לקבל גישה לחלק מהמידע. אני ביקשתי אישור ל-events ול-email ב-req_perms. אם אני אנסה לקבל מידע אחר, כמו למשל


$fbme = $facebook->api('/me/events');	

אני לא אקבל אותו כיוון שלא ביקשתי אישור בתהליך האותנטיקציה. כל מה שאני אקבל זה מערך ריק.

במאמר הבא נדבר סוף סוף על פרסום בקיר של המשתמש באמצעות אפליקצית פייסבוק.

כדאי תמיד להשאר מעודכנים! הרשמו לעדכונים של האתר במייל! - המייל יישלח כל יום ראשון בעשר בבוקר ויכיל אך ורק את המאמרים שהתפרסמו באינטרנט ישראל. ללא ספאם, ללא הצפות, ללא בלגנים. 🙂

אהבתם? לא אהבתם? דרגו!

לא אהבתי בכלללא אהבתיבסדראהבתיאהבתי מאוד (אין הצבעות)

תגיות: פורסם בקטגוריה: אפליקצית פייסבוק

אל תשארו מאחור! יש עוד מה ללמוד!

הצטרפו לעדכונים!

העדכונים נשלחים אך ורק כאשר האתר מתעדכן.

רן בר-זיק

רן בר-זיק כותב כל המאמרים באינטרנט ישראל, מפתח אינטרנט מנוסה במגוון שפות ופלטפורמות.
ניתן ליצור איתי קשר באמצעות:
כתובת המייל שלי: info@internet-israel.com.
פרופיל הלינקדאין שלי
הטוויטר שלי
פרופיל הפייסבוק שלי
אני תמיד שמח לייעץ ולעזור, אך בשל עומס הפניות הרב, אני לא תמיד מצליח לענות במהירות.

מאמרים אחרונים