Facebook Python SDK - Introduction

Post on 15-Jan-2015

3.094 views 5 download

Tags:

description

N

Transcript of Facebook Python SDK - Introduction

f Introduction toFacebook PY API

Introduction to Facebook Python APISocial Network and Applications, 2011LittleQ, The Department of Computer Science, NCCU

f Introduction toFacebook PY API

Objectives

• Learn the concepts of Facebook API

• Learn how to play with Facebook Graph API

f Introduction toFacebook PY API

Core Topics

• Facebook Developers website

• Graph API

• Facebook Python SDK

• Resources

f Introduction toFacebook PY API

Facebook Developers

• Provide you online documentations

• Forum for discussion

• Management of your applications

f Introduction toFacebook PY API

Where is it?

f Introduction toFacebook PY API

Social Plugins

• Like Button, Send Button, Login Button

• Comments

• Your Friends

• Activity Feed, Live Stream

f Introduction toFacebook PY API

Is That What You Want?

f Introduction toFacebook PY API

Graph API

• Facebook’s core

• Social graph

• Connections

Application Graph API Facebook Database

Access Token Request Data

Aggregate InformationResponse Data

f Introduction toFacebook 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 toFacebook PY API

Object Model

information from graph API without access token

f Introduction toFacebook PY API

Graph Model

information from graph API with access token

f Introduction toFacebook 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 toFacebook PY API

Connection Model

f Introduction toFacebook PY API

Access to Graph

• HTTP(S) Graph API

• SDKs

‣ Javascript SDK

‣ iOS SDK

‣ Android SDK

‣ PHP SDK

‣ Python SDK

f Introduction toFacebook PY API

HTTP(S) Graph API

• RESTful HTTP request & response

• Response data-type: JSON

• Access URL: graph.facebook.com

f Introduction toFacebook 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/<id-­‐or-­‐username>

f Introduction toFacebook 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 toFacebook 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 toFacebook PY API

Get Access Token

• GetMyAccesshttp://getmyaccess.heroku.com

• It requires a permission called “offline_access”, so this token can be valid for a long time

f Introduction toFacebook 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 toFacebook PY API

Python SDK

• Let you access all features of the Graph API

• That’s all, let’s play!

f Introduction toFacebook 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 toFacebook PY API

Graph

• Depends your access token

• Everyone will have their own graph, could be unique

f Introduction toFacebook PY API

Graph API Class

• Fetch the graph by implement it

import  facebook

graph  =  facebook.GraphAPI()user  =  graph.get_object(“littleq0903”)

f Introduction toFacebook 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 toFacebook PY API

Graph Methods

• get_object, get_objects

• get_connections

• put_object

• put_wall_post, put_comment, put_like

• delete_object

f Introduction toFacebook PY API

Demo

f Introduction toFacebook PY API

Homework

• Fetch a kind of data on the FB Graph

• Do some statistics on it

• Don’t Copy from others

f Introduction toFacebook PY API

Q&A TimeThanks for your listening