Facebook Python SDK - Introduction

29
f Introduction to Facebook PY API Introduction to Facebook Python API Social Network and Applications, 2011 LittleQ, The Department of Computer Science, NCCU

description

N

Transcript of Facebook Python SDK - Introduction

Page 1: Facebook Python SDK - Introduction

f Introduction toFacebook PY API

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

Page 2: Facebook Python SDK - Introduction

f Introduction toFacebook PY API

Objectives

• Learn the concepts of Facebook API

• Learn how to play with Facebook Graph API

Page 3: Facebook Python SDK - Introduction

f Introduction toFacebook PY API

Core Topics

• Facebook Developers website

• Graph API

• Facebook Python SDK

• Resources

Page 4: Facebook Python SDK - Introduction

f Introduction toFacebook PY API

Facebook Developers

• Provide you online documentations

• Forum for discussion

• Management of your applications

Page 5: Facebook Python SDK - Introduction

f Introduction toFacebook PY API

Where is it?

Page 6: Facebook Python SDK - Introduction

f Introduction toFacebook PY API

Social Plugins

• Like Button, Send Button, Login Button

• Comments

• Your Friends

• Activity Feed, Live Stream

Page 7: Facebook Python SDK - Introduction

f Introduction toFacebook PY API

Is That What You Want?

Page 8: Facebook Python SDK - Introduction

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

Page 9: Facebook Python SDK - Introduction

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

Page 10: Facebook Python SDK - Introduction

f Introduction toFacebook PY API

Object Model

information from graph API without access token

Page 11: Facebook Python SDK - Introduction

f Introduction toFacebook PY API

Graph Model

information from graph API with access token

Page 12: Facebook Python SDK - Introduction

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

Page 13: Facebook Python SDK - Introduction

f Introduction toFacebook PY API

Connection Model

Page 14: Facebook Python SDK - Introduction

f Introduction toFacebook PY API

Access to Graph

• HTTP(S) Graph API

• SDKs

‣ Javascript SDK

‣ iOS SDK

‣ Android SDK

‣ PHP SDK

‣ Python SDK

Page 15: Facebook Python SDK - Introduction

f Introduction toFacebook PY API

HTTP(S) Graph API

• RESTful HTTP request & response

• Response data-type: JSON

• Access URL: graph.facebook.com

Page 16: Facebook Python SDK - Introduction

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>

Page 17: Facebook Python SDK - Introduction

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:

Page 18: Facebook Python SDK - Introduction

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

Page 19: Facebook Python SDK - Introduction

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

Page 20: Facebook Python SDK - Introduction

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=...

Page 21: Facebook Python SDK - Introduction

f Introduction toFacebook PY API

Python SDK

• Let you access all features of the Graph API

• That’s all, let’s play!

Page 22: Facebook Python SDK - Introduction

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)

Page 23: Facebook Python SDK - Introduction

f Introduction toFacebook PY API

Graph

• Depends your access token

• Everyone will have their own graph, could be unique

Page 24: Facebook Python SDK - Introduction

f Introduction toFacebook PY API

Graph API Class

• Fetch the graph by implement it

import  facebook

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

Page 25: Facebook Python SDK - Introduction

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)

Page 26: Facebook Python SDK - Introduction

f Introduction toFacebook PY API

Graph Methods

• get_object, get_objects

• get_connections

• put_object

• put_wall_post, put_comment, put_like

• delete_object

Page 27: Facebook Python SDK - Introduction

f Introduction toFacebook PY API

Demo

Page 28: Facebook Python SDK - Introduction

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

Page 29: Facebook Python SDK - Introduction

f Introduction toFacebook PY API

Q&A TimeThanks for your listening