Introduction to Facebook Python API
Social Network and Applications, 2011
LittleQ, The Department of Computer Science, NCCU
f
Introduction to
Facebook PY API
Objectives
•Learn the concepts of Facebook API
•Learn how to play with Facebook Graph
API
f
Introduction to
Facebook PY API
Core Topics
•Facebook Developers website
•Graph API
•Facebook Python SDK
•Resources
f
Introduction to
Facebook PY API
Facebook Developers
•Provide you online documentations
•Forum for discussion
•Management of your applications
f
Introduction to
Facebook PY API
Where is it?
f
Introduction to
Facebook PY API
Social Plugins
•Like Button, Send Button, Login Button
•Comments
•Your Friends
•Activity Feed, Live Stream
f
Introduction to
Facebook PY API
Is That What You Want?
f
Introduction to
Facebook PY API
Graph API
•Facebook’s core
•Social graph
•Connections
Application Graph API Facebook Database
Access Token Request Data
Aggregate InformationResponse Data
f
Introduction to
Facebook PY API
Graph Model
•Composed of objects and connections
•Identify entities and relationships by id
•Data will be stored with smallest spaces
and keep being updated
f
Introduction to
Facebook PY API
Object Model
information from graph API
without access token
f
Introduction to
Facebook PY API
Graph Model
information from graph API
with access token
f
Introduction to
Facebook PY API
Connection Model
•All of the object in the Facebook social graph are connected
to each other via connections
•Objects are just like entities while connections are like
relationship
•For example, users, pages and groups are objects and likes,
friends and feeds are connections
f
Introduction to
Facebook PY API
Connection Model
f
Introduction to
Facebook PY API
Access to Graph
•HTTP(S) Graph API
•SDKs
‣
Javascript SDK
‣
iOS SDK
‣
Android SDK
‣
PHP SDK
‣
Python SDK
f
Introduction to
Facebook PY API
HTTP(S) Graph API
•RESTful HTTP request & response
•Response data-type: JSON
•Access URL: graph.facebook.com
f
Introduction to
Facebook PY API
HTTP(S) Graph API
•Request information of an object with id or username
•id-or-username can be “me” with the access token
http://graph.facebook.com/<id4or4username>
f
Introduction to
Facebook PY API
HTTP(S) Graph API
{
:::"id"::"1681390745",
:::"name"::"Colin:Su",
:::"first_name"::"Colin",
:::"last_name"::"Su",
:::"link"::"https://www.facebook.com/littleq0903",
:::"username"::"littleq0903",
:::"gender"::"male",
:::"locale"::"en_US"
}
http://graph.facebook.com/littleq0903
Result:
f
Introduction to
Facebook PY API
Access Token
•A long string stands for the authentication of users
•Temporary
•The information behind the access token
‣
user id
‣
app id
‣
expired time
‣
secret
f
Introduction to
Facebook PY API
Get Access Token
•GetMyAccess
http://getmyaccess.heroku.com
•It requires a permission called
“offline_access”, so this token can be valid
for a long time
f
Introduction to
Facebook PY API
HTTP(S) Graph API
•Access token should be transferred as a
HTTP GET variable
•More information:
developers.facebook.com/docs/reference/
api/
http://graph.facebook.com/littleq0903?access_token= ...
f
Introduction to
Facebook PY API
Python SDK
•Let you access all features of the Graph API
•That’s all, let’s play!
f
Introduction to
Facebook PY API
Python SDK
•https://github.com/facebook/python-sdk
•Designed to support Graph API and FB
Javascript SDK (You will learn in the future)
f
Introduction to
Facebook PY API
Graph
•Depends your access token
•Everyone will have their own graph, could
be unique
f
Introduction to
Facebook PY API
Graph API Class
•Fetch the graph by implement it
import:facebook
graph:=:facebook.GraphAPI()
user:=:graph.get_object(“littleq0903”)
f
Introduction to
Facebook PY API
Authentication
•Graph can be implemented with an access
token
•And the perspective of the graph will be
different
my_profile:=:graph.get_object(“me”)
graph:=:GraphAPI(ACCESS_TOKEN)
f
Introduction to
Facebook PY API
Graph Methods
•get_object, get_objects
•get_connections
•put_object
•put_wall_post, put_comment, put_like
•delete_object
f
Introduction to
Facebook PY API
Demo
f
Introduction to
Facebook PY API
Homework
•Fetch a kind of data on the FB Graph
•Do some statistics on it
•Don’t Copy from others
f
Introduction to
Facebook PY API
Q&A Time
Thanks for your listening