facebook query language dr.kwanchai eurviriyanukul february 2011 rmutl
TRANSCRIPT
Facebook Query Language
Dr.Kwanchai EurviriyanukulFebruary 2011
RMUTL
Facebook Query Language
• Overview• Setup• Example-Query Yourself• Example-Query Your friends
Graph API
• The Graph API is the core of Facebook Platform, enabling you to read and write data to Facebook.
• people, photos, eventsPeople: http://graph.facebook.com/bonnKwanchai/picture
Facebook Query Languagehttp://developers.facebook.com/docs/reference/fql/
• Query the data exposed by the Graph API. • SELECT [fields] FROM [table] WHERE [conditions]• the FQL FROM clause can contain only a single table. • Use the IN keyword in SELECT or WHERE clauses to
do subqueries,• Can query only indexable attributes from tables.• Support simple math, basic boolean operators, AND
or NOT logical operators, and ORDER BY and LIMIT clauses.
First queryhttp://developers.facebook.com/docs/reference/fql/
1. SELECT name FROM user WHERE uid = 641805439
Examples
1. SELECT name FROM user WHERE uid = 641805439
Test your query
• http://developers.facebook.com/docs/reference/rest/fql.query
PHP programming
• 1. Get your Facebook API key.• http://developers.facebook.com/setup/
Get your Facebook API key.
Test your Facebook API key.With exmple-1
With exmple-1
PHP programming
• 1. Get your Facebook API key.• http://developers.facebook.com/setup/• App Name: fql • App URL:
http://localhost/advanceDB-2-53/fql/ • App ID: 190424107654631 • App Secret:
fb9efedbb146aadf3eea879903b8b7a7
Ex-2
PHP SDK
• https://github.com/facebook/php-sdk/
PHP SDK
• https://github.com/facebook/php-sdk/
PHP SDK: Run with localhost
• http://localhost/advanceDB-2-53/fql/examples/example.php
Modify facebook.php
1. public static $CURL_OPTS = array(2. CURLOPT_CONNECTTIMEOUT => 10,3. CURLOPT_RETURNTRANSFER => true,4. CURLOPT_TIMEOUT => 60,5. CURLOPT_USERAGENT => 'facebook-php-
2.0',6. CURLOPT_SSL_VERIFYPEER => false,7. CURLOPT_SSL_VERIFYHOST => 2,8. );
PHP SDK: Test Again
• http://localhost/advanceDB-2-53/fql/examples/example.php
PHP SDK: Press Login button
• http://localhost/advanceDB-2-53/fql/examples/example.php
PHP SDK: PHP 6 issue
• http://localhost/advanceDB-2-53/fql/examples/example.php
parse_str(trim( //get_magic_quotes_gpc() 0 ? stripslashes($_COOKIE[$cookieName])
PHP SDK
• http://localhost/advanceDB-2-53/fql/examples/example.php
Ex-2 select yourself
Ex-2 select yourself
What is this?
• SELECT first_name, last_name,birthday FROM user WHERE uid IN ( SELECT uid1 FROM friend WHERE uid2=614902533)
What is this?
• SELECT first_name, last_name,birthday FROM user WHERE uid IN ( SELECT uid1 FROM friend WHERE uid2=614902533)
What is this?
• SELECT first_name, last_name,birthday FROM user WHERE uid IN ( SELECT uid1 FROM friend WHERE uid2=614902533)
What is this?
• SELECT first_name, last_name,birthday FROM user WHERE uid IN ( SELECT uid1 FROM friend WHERE uid2=614902533)
What is this? => Don’t forget to login
• SELECT first_name, last_name,birthday FROM user WHERE uid IN ( SELECT uid1 FROM friend WHERE uid2=614902533)
Query Friends
• SELECT first_name, last_name,birthday FROM user WHERE uid IN ( SELECT uid1 FROM friend WHERE uid2=614902533)
Query Friends: What is missing
• SELECT first_name, last_name,birthday FROM user WHERE uid IN ( SELECT uid1 FROM friend WHERE uid2=614902533)
Query Friends: What is missing: Birth Day
• We need permission WHERE uid IN ( SELECT uid1 FROM friend WHERE uid2=614902533)
Query Friends: What is missing: Birth Day
• We need permission WHERE uid IN ( SELECT uid1 FROM friend WHERE uid2=614902533)
Query Friends: Birth Day
• We need permission WHERE uid IN ( SELECT uid1 FROM friend WHERE uid2=614902533)
Query Friends: Birth Day
• We need permission WHERE uid IN ( SELECT uid1 FROM friend WHERE uid2=614902533)
The End
List the uid, status_id and the corresponding status massage of specific user within last week.
Ex3.php