SlideShare una empresa de Scribd logo
1 de 71
Descargar para leer sin conexión
Introduction to

facebook JavaScript SDK
!

Tutorials & Code Lab, 2013 Winter
Colin Su
Social Network Application

facebook JavaScript SDK
http://goo.gl/MwcsRA

facebook JavaScript SDK
Colin Su
>

littleq0903+sna@gmail.com

>

Software Engineer @ Tagtoo

>

National Chengchi University

http://about.me/littleq
facebook JavaScript SDK
Before We Start…
>

Google Moderator: http://goo.gl/OVNszf

Ask question here!

>

Code Lab Repo: https://github.com/littleq0903/fb-js-codelab

The code you will need it in the practice, check out the Wiki!

>

Turn your smartphone to the vibrating mode

facebook JavaScript SDK
Outline
>

Facebook Developers Website

>

Facebook App

>

Facebook Components

>

Facebook JavaScript SDK (Software Development Kit)

>

Code Lab for Facebook JavaScript SDK

facebook JavaScript SDK
Basic Knowledges
Chapter. 0

facebook JavaScript SDK
Facebook Developer Site
Developer Portal for Facebook App Developers

>

developers.facebook.com

>

Documentation & Tutorials

>

Facebook Developer Apps Dashboard

>

Download SDK

>

Online Tools

facebook JavaScript SDK
Facebook Developer Dashboard
You can see all your apps information here

facebook JavaScript SDK
Facebook App
The most basic unit for a developer on Facebook

>
>

Permissions

>
>
>
>

Insights

>
>

Developer

Facebook
App

Developer
Alert

>
>
>

>

Settings

>
>

Access Token
App ID
API Keys
Request Permissions
Developer Roles
Daily Report
Active User Statistic
Sharing Report

Breaking Changes
New Updates
Review Status

Domain Settings
Testing
Go to Production

facebook JavaScript SDK
Facebook Component
What can you do with Facebook JavaScript SDK?

>

Graph API - get data in and out of Facebook’s Social Graph

>

Login - authenticate Facebook users on your website

>

Social Plugins - don’t rebuild the wheel, take the power from
Facebook

facebook JavaScript SDK
Social Plugins
You know, that like button

>

Like Button

>

Activity Feed

>

Share/Send Button

>

Recommendations Box/Bar

>

Embedded Posts

>

Like Box

>

Follow Button

>

Registration

>

Comments

>

Facepile

facebook JavaScript SDK
facebook JavaScript SDK
Authentication
The Key to The Facebook World

>

Facebook - username and password

>

Facebook API - access token

>

Preventing server gets your credentials directly

facebook JavaScript SDK
Authentication
In The Real World Example…

Not easy to destroy when stolen

Username/Password

Easy to destroy when stolen

Access Token

facebook JavaScript SDK
Graph API

Data Form of Facebook, with RESTful API 

>

Everything on Facebook forms a
graph
N

>

>

Your profile is an object, and has a
bunch of properties
Every object will have an ID as the
identity

am

e

y
thda
Bir

Me

Work

Ge

E-m
ail

nd

er

facebook JavaScript SDK
Graph API

Alice
Bob

Data Form of Facebook, with RESTful API 

>

Some objects will be connected with
Relations

>

You could fetch more data on
Facebook through the relations

Friends

Photos

Me

Posts

“Today I go to…
“Damn, I hate
school…

facebook JavaScript SDK
Facebook Dialog
Redirect some actions, let Facebook do it!

>

Pop-up style Facebook widget

>

Examples
-

Friend Request Dialog

-

Login Dialog

-

Friends Dialog

-

Send Dialog

facebook JavaScript SDK
Technical Details
Chapter. 1

facebook JavaScript SDK
What Can JavaScript SDK Do
>

Authentication


Server side cannot achieve this, the most important part of building Facebook apps

>

Interact with your website users

the thing could be done by ONLY JavaScript

>

Load Facebook pre-defined components

like buttons, comments, registration form in a second

>

Pre-defined functions from Facebook

out-of-box APIs and don’t rebuild the wheel

facebook JavaScript SDK
Authentication
Workflow of Authentication

Redirect user to FB
for authorizing your
app

Facebook response
user’s access
token to your
function

user type username &
password to login and
authorize

Rock it up!

JS SDK gets authorized
and feedback on the
interface or program

facebook JavaScript SDK
Authentication
>

FB.login()


tell Facebook it’s about time to start the authentication flow

>

FB.Event.subscribe(event, callback)

tell Facebook what to do when user got logged in

facebook JavaScript SDK
Graph API
>

Callback model applied

>

RESTful knowledge

facebook JavaScript SDK
Callback Model

The most important part while using other’s JS library

>
>

one of JavaScript patterns
make sure action has been done

function

callback
Data

Could
you plz do this for
me?

Arguments

I’ve done, here
you go!

Job

Okay! I will tell callback
when I finished

facebook JavaScript SDK
RESTful API Model
>

HTTP Method: GET, POST, DELETE, PUT…

>

GET /user/{id}


Fetch the information of the user with id {id}

>

POST /user

Create a user

>

DELETE /user/{id}

Delete the user with id {id}

facebook JavaScript SDK
Graph API
A Simple GET Example

>

FB.api( graph_path , callback )

FB.api(“/me”, function(response){

console.log(response);

});

{	
"id": "1681390745", 	
"name": "Colin Su", 	
"first_name": "Colin", 	
"last_name": "Su", 	
"link": "https://www.facebook.com/littleq0903", 	
"username": "littleq0903", 	
"work": [	
...	
], 	
"gender": "male", 	
"timezone": 8, 	
"locale": "en_US", 	
"verified": true, 	
"updated_time": "2013-12-02T17:44:06+0000"	
}

JavaScript

Result

facebook JavaScript SDK
Graph API
A Simple GET Example

>

FB.api( graph_path , callback )

FB.api(“/me/posts”, function(response){	
// will response an array in “data”

console.log(response);

});

{	
"data": [	
{post},	
{post},	
{post},	
{post},	
{post}	
]	
}

JavaScript

Result

facebook JavaScript SDK
Graph API
A Simple POST Example

>

FB.api( graph_path , type , options , callback )

var body = 'Reading JS SDK documentation';	
FB.api('/me/feed', 'post', { message: body },
function(response) {	
if (!response || response.error) {	
console.log(‘Error occured');	
} else {	
console.log(‘Post ID: ' + response.id);	
}	
});

JavaScript

Post ID: 6892345

Result

facebook JavaScript SDK
Social Plugins

Facebook’s Native Component on Your Website

>

out-of-box Facebook plugins

>

no programmatic stuffs

it’s just a piece of HTML snippet

>

configure it by adjusting DOM
attributes

facebook JavaScript SDK
Social Plugins
Code Example

>

Insert a snippet into your HTML code

<div 	
class="fb-like"	
data-href="https://www.facebook.com">	
</div>

HTML

Result

facebook JavaScript SDK
Dialogs
Code Example

>

FB.ui(parameters , callback)

FB.ui({	
method: 'friends',	
id: 'brent'	
}, function(response){});

JavaScript

Result

facebook JavaScript SDK
Dialogs
Code Example

>

FB.ui(parameters , callback)

<a href=“https://www.facebook.com/dialog/friends/?	
id=brent	
&app_id=458358780877780	
&redirect_uri=https://mightylowlands-6381.herokuapp.com/“>Add Brent as Friend</
a>

HTML

Add Brent as Friend

Result

facebook JavaScript SDK
Developer Tools
Chapter. 2

facebook JavaScript SDK
Facebook Developer Tools
There are some tools to help out your development of Facebook app

>

Graph API Explorer


Examine the result of Graph API queries

>

JavaScript Test Console


Verify your JavaScript code’s validation and examine the result

>

Access Token Tool


For generating access tokens, for streamline your testing

facebook JavaScript SDK
Graph API Explorer
>

simulate querying/FQL

>

simulate GET/POST/DELETE request

>

filter fields

>

generate/use access token easily

facebook JavaScript SDK
JavaScript Test Console

facebook JavaScript SDK
Access Token Tool
>

generate tokens easily

>

user/app tokens in one place

>

test various tokens for you app

facebook JavaScript SDK
Code Lab
Chapter. 3

facebook JavaScript SDK
In This Code Lab
You will learn…

>

how to integrate Facebook JavaScript SDK into your project

>

how to authenticate user’s Facebook account

>

how to access Graph API with users’ credentials

>

how to place a Facebook cool widget on your page

>

how to use Facebook dialog to save your time

facebook JavaScript SDK
Before We Start…
Get prepared

>

Google Moderator: http://goo.gl/OVNszf

Ask question here!

>

Code Lab Repo: https://github.com/littleq0903/fb-js-codelab

The code you will need it in the practice, check out the Wiki!

>

Download the CodeLab pack


https://github.com/littleq0903/fb-js-codelab/releases/download/v1.0/fb-js-codelab.tgz

>

Ready your editor, web browser, and passion!

facebook JavaScript SDK
Introduction to

facebook Python SDK
!

Tutorials & Code Lab, 2013 Winter
Colin Su
Social Network Application

facebook JavaScript SDK
http://goo.gl/MwcsRA

facebook JavaScript SDK
Before We Start…
>

Code Lab Repo: https://github.com/littleq0903/fb-python-codelab

The code you will need it in the practice, check out the Wiki!

>

Turn your smartphone to the vibrating mode

facebook JavaScript SDK
Outline
>

Web Application

>

Heroku

>

Facebook Python SDK

facebook JavaScript SDK
Web Application
Chapter. 4

facebook JavaScript SDK
Website v.s. Web Application

>

Website: display information to visitors

>

Web Application: interact with users, response users’ various
request

facebook JavaScript SDK
Web Application

>

Front End: interact with users (JavaScript)

You’ve learned.

>

Back End: deal with data (Python)

The part related to this presentation

facebook JavaScript SDK
Stacks
Web Framework

Web Server

Web Interface
User

User

User

facebook JavaScript SDK
Heroku
>

Platform as a Service (PaaS)

>

Easy to setup

>

Your code is everything
http://heroku.com

facebook JavaScript SDK
Workflow

The Story of a Heroku Application

Create a
Heroku
Application

Write Your
Code

Deploy to
Heroku

Test

facebook JavaScript SDK
Technical Detail
Chapter. 5

facebook JavaScript SDK
JSON Serialization
>

JSON to Python Object mapping

>

json module

>

json.loads(str) json string -> python object

>

json.dumps(obj) python object -> json string

facebook JavaScript SDK
Load

Example of JSON Serialization

import json

{u'a': [1, 2, 3, 4, 5], u'b': 2}

!

# is a string
text = '{"a": [1,2,3,4,5], "b": 2}'
!

result = json.loads(text)
!

print result

Python

Console

facebook JavaScript SDK
Dump

Example of JSON Serialization

import json

{"a": [1,2,3,4,5], "b": 2}

!

# is a dictionary
data = {u'a': [1, 2, 3, 4, 5], u'b': 2}
!

result = json.dumps(data)
!

print result

Python

Console

facebook JavaScript SDK
Bottle.py
>

Web Framework

WSGI-Compatible

>

Writing functions as Request Handler

>

Only one file as library

>

http://bottlepy.org

Documentation

facebook JavaScript SDK
Request Handler Example
Example of Bottle’s Request Handler

from bottle import Bottle

hello world

!

#create your web application
app = Bottle()
!

#define a function and point to /index
@app.route('/index')
def index():
return 'hello world'

Python

/index

facebook JavaScript SDK
URL Argument
Example of Bottle’s Request Handler

from bottle import Bottle

hello world

!

#create your web application
app = Bottle()
!

# <name> will be the 'name' argument in the
function
@app.route('/index/<name>')
def index(name='default'):
return "hello " + name

Python

/index/world

facebook JavaScript SDK
Access Request
Example of Bottle’s Request Handler

from bottle import Bottle
#import request function
from bottle import request

<LocalRequest: GET http://localhost:8080/index>

!

#create your web application
app = Bottle()
!

#define a function and point to /index
@app.route('/index')
def index():
return request

Python

/index

facebook JavaScript SDK
Heroku Deployment
>

First time, run heroku login to authenticate

>

Must be a Git repository: git init

>

heroku create

Create a Heroku app and add it to git remotes

>

heroku config:set var1=val1 var2=val2

Set Environment Variables on Heroku

>

git push heroku master

Deploy

facebook JavaScript SDK
Git Remotes
>

Git's remote branch

>

Github, Heroku or your own Git
server

>

Your Repo

git push <remote> <branch>
Github

Heroku

facebook JavaScript SDK
Installing Python Libraries
How to made Heroku server install Python packages for you

>

requirement.txt


Create this file and put it under the root folder

>

one package per line

>

<package name>

>

<package name>==<version>

>

(local) pip install -r ./requirements.txt

facebook JavaScript SDK
Facebook Python SDK
>

access Facebook Graph

>

query with FQL

>

Operating Data with Python is easier than JavaScript

facebook

x
facebook JavaScript SDK
Documentation?
https://github.com/pythonforfacebook/facebook-sdk/blob/master/facebook.py

>

In Python, sometimes source code is the best documentation

>

Doc string

>

So does bottle.py

facebook JavaScript SDK
Graph API
>

facebook.GraphAPI( [access_token] )

>

access token is not necessary

facebook JavaScript SDK
Graph API Methods
>

get_object

>

put_like

>

get_connections

>

delete_object

>

fql

>

put_photo

>

put_object

facebook JavaScript SDK
Get Object
Example of Facebook Python SDK

import facebook
!

token = "..."
!

graph = Facebook.GraphAPI(token)
!

me = graph.get_object('me')
!

print me

Python

{u'first_name': u'Colin',
u'gender': u'male',
u'id': u'1681390745',
u'last_name': u'Su',
u'link': u'https://www.facebook.com/littleq0903',
u'locale': u'en_US',
u'name': u'Colin Su',
u'timezone': 8,
u'updated_time': u'2013-12-05T15:31:10+0000',
u'username': u'littleq0903',
u'verified': True,
u'work': [{u'employer': {u'id': u'240616999424812',
u'name': u'Tagtoo u5854u5716u79d1u6280'},
u'location': {u'id': u'110765362279102', u'name': u'Taipei,
Taiwan'},
u'position': {u'id': u'109542932398298', u'name': u'Software
Engineer'},
u'start_date': u'2013-09-30'},
{u'employer': {u'id': u'454607821247176',
u'name': u'g0v.tw u53f0u7063u96f6u6642u653fu5e9c'}}]}
Console

facebook JavaScript SDK
Put Object
Example of Facebook Python SDK

!

Colin Su
3 seconds ago from Graph API
---------------------------

token = "..."

!

!

I'm testing api
!

import facebook

msg = "I'm testing api"
!

graph = Facebook.GraphAPI(token)
!

graph.put_object('me', 'feed', message=msg)

--------------------------Like . Comment . Promote . Share
--------------------------Obama and Mark Zurgerburg like this.
--------------------------Someone lalalalala
5 seconds ago . Like
!

Somebody ?
10 seconds ago . Like
!
!

Python

Facebook

facebook JavaScript SDK
FQL
>

Facebook Query Language

>

SQL-like query for Facebook data

>

support nested querying, batch querying

facebook JavaScript SDK
FQL Query
Example of Facebook Python SDK

import facebook
!

[{u'url': u'http://www.facebook.com/littleq0903',
u'username': u'littleq0903', u'name': u'Colin Su'}]

token = "..."
!

graph = Facebook.GraphAPI(token)
!

# me() is the built-in function for returning
your id
query = "SELECT name,url,username FROM profile
WHERE id = me()"
!

print graph.fql(query)

Python

Console

facebook JavaScript SDK
Python SDK Code Lab
Chapter. 6

facebook JavaScript SDK
Code Lab Repository
>

littleq0903/fb-python-codelab @ Github

>

Wiki -> Code Lab Checkpoints

>

Download the sample package

facebook JavaScript SDK
EOF

facebook JavaScript SDK

Más contenido relacionado

La actualidad más candente

App Indexing: Blurring the Lines Between Your Website and App
App Indexing: Blurring the Lines Between Your Website and AppApp Indexing: Blurring the Lines Between Your Website and App
App Indexing: Blurring the Lines Between Your Website and AppJuan Gomez
 
WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!Evan Mullins
 
Firebase for the Web
Firebase for the WebFirebase for the Web
Firebase for the WebJana Moudrá
 
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrienDeep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrienChris O'Brien
 
Exam Cram for 70-488: Developing Microsoft SharePoint Server 2013 Core Solutions
Exam Cram for 70-488: Developing Microsoft SharePoint Server 2013 Core SolutionsExam Cram for 70-488: Developing Microsoft SharePoint Server 2013 Core Solutions
Exam Cram for 70-488: Developing Microsoft SharePoint Server 2013 Core SolutionsBecky Bertram
 
Chanhao Jiang And David Wei Presentation Quickling Pagecache
Chanhao Jiang And David Wei Presentation Quickling PagecacheChanhao Jiang And David Wei Presentation Quickling Pagecache
Chanhao Jiang And David Wei Presentation Quickling PagecacheAjax Experience 2009
 
Intro Open Social and Dashboards
Intro Open Social and DashboardsIntro Open Social and Dashboards
Intro Open Social and DashboardsAtlassian
 
Android - Getting Started With Firebase Auth
Android - Getting Started With Firebase AuthAndroid - Getting Started With Firebase Auth
Android - Getting Started With Firebase AuthBayu Firmawan Paoh
 
Chrome enchanted 2015
Chrome enchanted 2015Chrome enchanted 2015
Chrome enchanted 2015Chang W. Doh
 
Facebook Open Graph Tech Requirements
Facebook Open Graph Tech RequirementsFacebook Open Graph Tech Requirements
Facebook Open Graph Tech RequirementsAffinitive
 
Why Deep Linking is the Next Big Thing: App Indexing - SMX East 2015
Why Deep Linking is the Next Big Thing: App Indexing - SMX East 2015Why Deep Linking is the Next Big Thing: App Indexing - SMX East 2015
Why Deep Linking is the Next Big Thing: App Indexing - SMX East 2015Suzzicks
 
IBM Connect 2014 - AD205: Creating State-of-the-Art Web Applications with Dom...
IBM Connect 2014 - AD205: Creating State-of-the-Art Web Applications with Dom...IBM Connect 2014 - AD205: Creating State-of-the-Art Web Applications with Dom...
IBM Connect 2014 - AD205: Creating State-of-the-Art Web Applications with Dom...Dave Delay
 
Level up apps and websites with vue.js
Level up  apps and websites with vue.jsLevel up  apps and websites with vue.js
Level up apps and websites with vue.jsVioletta Villani
 
State of jQuery '09
State of jQuery '09State of jQuery '09
State of jQuery '09jeresig
 
Introduction to HTML5
Introduction to HTML5Introduction to HTML5
Introduction to HTML5Gil Fink
 
Introducing the JotSpot Data Model and API
Introducing the JotSpot Data Model and APIIntroducing the JotSpot Data Model and API
Introducing the JotSpot Data Model and APIScott McMullan
 
Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Thomas Daly
 
Deploying applications to Cloud with Google App Engine
Deploying applications to Cloud with Google App EngineDeploying applications to Cloud with Google App Engine
Deploying applications to Cloud with Google App EngineAlexander Zamkovyi
 
Introduction to chrome extension development
Introduction to chrome extension developmentIntroduction to chrome extension development
Introduction to chrome extension developmentKAI CHU CHUNG
 
.NET Foundation website suggestions for improvement
.NET Foundation website suggestions for improvement.NET Foundation website suggestions for improvement
.NET Foundation website suggestions for improvementLee Englestone
 

La actualidad más candente (20)

App Indexing: Blurring the Lines Between Your Website and App
App Indexing: Blurring the Lines Between Your Website and AppApp Indexing: Blurring the Lines Between Your Website and App
App Indexing: Blurring the Lines Between Your Website and App
 
WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!
WordCamp Raleigh 2016 - WP API, What is it good for? Absolutely Everything!
 
Firebase for the Web
Firebase for the WebFirebase for the Web
Firebase for the Web
 
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrienDeep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
 
Exam Cram for 70-488: Developing Microsoft SharePoint Server 2013 Core Solutions
Exam Cram for 70-488: Developing Microsoft SharePoint Server 2013 Core SolutionsExam Cram for 70-488: Developing Microsoft SharePoint Server 2013 Core Solutions
Exam Cram for 70-488: Developing Microsoft SharePoint Server 2013 Core Solutions
 
Chanhao Jiang And David Wei Presentation Quickling Pagecache
Chanhao Jiang And David Wei Presentation Quickling PagecacheChanhao Jiang And David Wei Presentation Quickling Pagecache
Chanhao Jiang And David Wei Presentation Quickling Pagecache
 
Intro Open Social and Dashboards
Intro Open Social and DashboardsIntro Open Social and Dashboards
Intro Open Social and Dashboards
 
Android - Getting Started With Firebase Auth
Android - Getting Started With Firebase AuthAndroid - Getting Started With Firebase Auth
Android - Getting Started With Firebase Auth
 
Chrome enchanted 2015
Chrome enchanted 2015Chrome enchanted 2015
Chrome enchanted 2015
 
Facebook Open Graph Tech Requirements
Facebook Open Graph Tech RequirementsFacebook Open Graph Tech Requirements
Facebook Open Graph Tech Requirements
 
Why Deep Linking is the Next Big Thing: App Indexing - SMX East 2015
Why Deep Linking is the Next Big Thing: App Indexing - SMX East 2015Why Deep Linking is the Next Big Thing: App Indexing - SMX East 2015
Why Deep Linking is the Next Big Thing: App Indexing - SMX East 2015
 
IBM Connect 2014 - AD205: Creating State-of-the-Art Web Applications with Dom...
IBM Connect 2014 - AD205: Creating State-of-the-Art Web Applications with Dom...IBM Connect 2014 - AD205: Creating State-of-the-Art Web Applications with Dom...
IBM Connect 2014 - AD205: Creating State-of-the-Art Web Applications with Dom...
 
Level up apps and websites with vue.js
Level up  apps and websites with vue.jsLevel up  apps and websites with vue.js
Level up apps and websites with vue.js
 
State of jQuery '09
State of jQuery '09State of jQuery '09
State of jQuery '09
 
Introduction to HTML5
Introduction to HTML5Introduction to HTML5
Introduction to HTML5
 
Introducing the JotSpot Data Model and API
Introducing the JotSpot Data Model and APIIntroducing the JotSpot Data Model and API
Introducing the JotSpot Data Model and API
 
Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Developing Branding Solutions for 2013
Developing Branding Solutions for 2013
 
Deploying applications to Cloud with Google App Engine
Deploying applications to Cloud with Google App EngineDeploying applications to Cloud with Google App Engine
Deploying applications to Cloud with Google App Engine
 
Introduction to chrome extension development
Introduction to chrome extension developmentIntroduction to chrome extension development
Introduction to chrome extension development
 
.NET Foundation website suggestions for improvement
.NET Foundation website suggestions for improvement.NET Foundation website suggestions for improvement
.NET Foundation website suggestions for improvement
 

Destacado

Introduction to Facebook Python API
Introduction to Facebook Python APIIntroduction to Facebook Python API
Introduction to Facebook Python APIColin Su
 
Facebook Python SDK - Introduction
Facebook Python SDK - IntroductionFacebook Python SDK - Introduction
Facebook Python SDK - IntroductionColin Su
 
Introduction to Facebook Javascript SDK (NEW)
Introduction to Facebook Javascript SDK (NEW)Introduction to Facebook Javascript SDK (NEW)
Introduction to Facebook Javascript SDK (NEW)Colin Su
 
RDS_Photoscan_Eval_Cloud
RDS_Photoscan_Eval_CloudRDS_Photoscan_Eval_Cloud
RDS_Photoscan_Eval_CloudRaminder Singh
 
Happy facebook developer
Happy facebook developerHappy facebook developer
Happy facebook developerYu-Wei Chuang
 
Making Facebook Faster
Making Facebook FasterMaking Facebook Faster
Making Facebook Fasterguest1240e7c
 
Facebook App Development
Facebook App DevelopmentFacebook App Development
Facebook App DevelopmentCristiano Betta
 
Facebook Development with Zend Framework
Facebook Development with Zend FrameworkFacebook Development with Zend Framework
Facebook Development with Zend FrameworkBrett Harris
 
Introduction to facebook java script sdk
Introduction to facebook java script sdk Introduction to facebook java script sdk
Introduction to facebook java script sdk Yi-Fan Chu
 
Introduction to facebook javascript sdk
Introduction to facebook javascript sdk Introduction to facebook javascript sdk
Introduction to facebook javascript sdk Yi-Fan Chu
 
Python games
Python gamesPython games
Python gamesdxbeeh
 
Facebook Development for Beginners
Facebook Development for BeginnersFacebook Development for Beginners
Facebook Development for BeginnersJesse Stay
 
Introduction To Facebook: Opportunities and Challenges For The Institution
Introduction To Facebook: Opportunities and Challenges For The InstitutionIntroduction To Facebook: Opportunities and Challenges For The Institution
Introduction To Facebook: Opportunities and Challenges For The Institutionlisbk
 
introduction to server-side scripting
introduction to server-side scriptingintroduction to server-side scripting
introduction to server-side scriptingAmirul Shafeeq
 
Server and Client side comparision
Server and Client side comparisionServer and Client side comparision
Server and Client side comparisionStew Duncan
 
Introduction to Game programming with PyGame Part 1
Introduction to Game programming with PyGame Part 1Introduction to Game programming with PyGame Part 1
Introduction to Game programming with PyGame Part 1Abhishek Mishra
 
Introduction to Google Compute Engine
Introduction to Google Compute EngineIntroduction to Google Compute Engine
Introduction to Google Compute EngineColin Su
 

Destacado (20)

Introduction to Facebook Python API
Introduction to Facebook Python APIIntroduction to Facebook Python API
Introduction to Facebook Python API
 
Facebook Python SDK - Introduction
Facebook Python SDK - IntroductionFacebook Python SDK - Introduction
Facebook Python SDK - Introduction
 
Introduction to Facebook Javascript SDK (NEW)
Introduction to Facebook Javascript SDK (NEW)Introduction to Facebook Javascript SDK (NEW)
Introduction to Facebook Javascript SDK (NEW)
 
Python at Facebook
Python at FacebookPython at Facebook
Python at Facebook
 
RDS_Photoscan_Eval_Cloud
RDS_Photoscan_Eval_CloudRDS_Photoscan_Eval_Cloud
RDS_Photoscan_Eval_Cloud
 
Happy facebook developer
Happy facebook developerHappy facebook developer
Happy facebook developer
 
Making Facebook Faster
Making Facebook FasterMaking Facebook Faster
Making Facebook Faster
 
Facebook App Development
Facebook App DevelopmentFacebook App Development
Facebook App Development
 
Facebook Development with Zend Framework
Facebook Development with Zend FrameworkFacebook Development with Zend Framework
Facebook Development with Zend Framework
 
Introduction to facebook java script sdk
Introduction to facebook java script sdk Introduction to facebook java script sdk
Introduction to facebook java script sdk
 
Introduction to facebook javascript sdk
Introduction to facebook javascript sdk Introduction to facebook javascript sdk
Introduction to facebook javascript sdk
 
Python games
Python gamesPython games
Python games
 
Facebook Development for Beginners
Facebook Development for BeginnersFacebook Development for Beginners
Facebook Development for Beginners
 
Introduction To Facebook: Opportunities and Challenges For The Institution
Introduction To Facebook: Opportunities and Challenges For The InstitutionIntroduction To Facebook: Opportunities and Challenges For The Institution
Introduction To Facebook: Opportunities and Challenges For The Institution
 
introduction to server-side scripting
introduction to server-side scriptingintroduction to server-side scripting
introduction to server-side scripting
 
Server and Client side comparision
Server and Client side comparisionServer and Client side comparision
Server and Client side comparision
 
Introduction to Game programming with PyGame Part 1
Introduction to Game programming with PyGame Part 1Introduction to Game programming with PyGame Part 1
Introduction to Game programming with PyGame Part 1
 
Introduction to Google Compute Engine
Introduction to Google Compute EngineIntroduction to Google Compute Engine
Introduction to Google Compute Engine
 
Website vs web app
Website vs web appWebsite vs web app
Website vs web app
 
Mobile app Vs Web App
Mobile app Vs Web AppMobile app Vs Web App
Mobile app Vs Web App
 

Similar a Intro Facebook JS SDK - Build Social Apps Tutorial & Code Lab

Facebook api
Facebook api Facebook api
Facebook api snipermkd
 
Facebook API
Facebook APIFacebook API
Facebook APIsnipermkd
 
What's New on the Facebook Platform, July 2011
What's New on the Facebook Platform, July 2011What's New on the Facebook Platform, July 2011
What's New on the Facebook Platform, July 2011Iskandar Najmuddin
 
Facebook Apps Development 101 (Java)
Facebook Apps Development 101 (Java)Facebook Apps Development 101 (Java)
Facebook Apps Development 101 (Java)Damon Widjaja
 
Facebook Messenger Bot with Flask & Google App Engine
Facebook Messenger Bot with Flask & Google App EngineFacebook Messenger Bot with Flask & Google App Engine
Facebook Messenger Bot with Flask & Google App EngineNazrul Kamaruddin
 
Social Design - ProSEO
Social Design - ProSEOSocial Design - ProSEO
Social Design - ProSEOMat Clayton
 
Connect with Facebook to Rails Application By Nyros Developer
Connect with Facebook to Rails Application By Nyros DeveloperConnect with Facebook to Rails Application By Nyros Developer
Connect with Facebook to Rails Application By Nyros DeveloperNyros Technologies
 
Creating an Uber Clone - Part XXXIII - Transcript.pdf
Creating an Uber Clone - Part XXXIII - Transcript.pdfCreating an Uber Clone - Part XXXIII - Transcript.pdf
Creating an Uber Clone - Part XXXIII - Transcript.pdfShaiAlmog1
 
Iskandar Najmuddin
Iskandar NajmuddinIskandar Najmuddin
Iskandar NajmuddiniPlatform
 
The Flash Facebook Cookbook - FlashMidlands
The Flash Facebook Cookbook - FlashMidlandsThe Flash Facebook Cookbook - FlashMidlands
The Flash Facebook Cookbook - FlashMidlandsJames Ford
 
Leveraging Rails to Build Facebook Apps
Leveraging Rails to Build Facebook AppsLeveraging Rails to Build Facebook Apps
Leveraging Rails to Build Facebook AppsDavid Keener
 
Facebook Connect Integration
Facebook Connect IntegrationFacebook Connect Integration
Facebook Connect Integrationmujahidslideshare
 
MozCon Seattle 2011 - Social Design
MozCon Seattle 2011 - Social DesignMozCon Seattle 2011 - Social Design
MozCon Seattle 2011 - Social DesignMat Clayton
 
Leynard quizon work portfolio (2012 to 2014)
Leynard quizon work portfolio (2012 to 2014)Leynard quizon work portfolio (2012 to 2014)
Leynard quizon work portfolio (2012 to 2014)Leynard Quizon
 
Virtual Tech Days 2010 - Integrating Social Networks with ASP.NET
Virtual Tech Days 2010 - Integrating Social Networks with ASP.NETVirtual Tech Days 2010 - Integrating Social Networks with ASP.NET
Virtual Tech Days 2010 - Integrating Social Networks with ASP.NETKrishna T
 
Building Facebook Apps
Building Facebook AppsBuilding Facebook Apps
Building Facebook AppsDavid Keener
 
Facebook Platform for Developers
Facebook Platform for DevelopersFacebook Platform for Developers
Facebook Platform for DevelopersLidan Hifi
 
What's New on the Facebook Platform, May 2011
What's New on the Facebook Platform, May 2011What's New on the Facebook Platform, May 2011
What's New on the Facebook Platform, May 2011Iskandar Najmuddin
 
Facebook Connect Presentation 08 10 2008
Facebook Connect Presentation 08 10 2008Facebook Connect Presentation 08 10 2008
Facebook Connect Presentation 08 10 2008Karl Bunyan
 

Similar a Intro Facebook JS SDK - Build Social Apps Tutorial & Code Lab (20)

Facebook api
Facebook api Facebook api
Facebook api
 
Facebook API
Facebook APIFacebook API
Facebook API
 
Facebook Platform
Facebook PlatformFacebook Platform
Facebook Platform
 
What's New on the Facebook Platform, July 2011
What's New on the Facebook Platform, July 2011What's New on the Facebook Platform, July 2011
What's New on the Facebook Platform, July 2011
 
Facebook Apps Development 101 (Java)
Facebook Apps Development 101 (Java)Facebook Apps Development 101 (Java)
Facebook Apps Development 101 (Java)
 
Facebook Messenger Bot with Flask & Google App Engine
Facebook Messenger Bot with Flask & Google App EngineFacebook Messenger Bot with Flask & Google App Engine
Facebook Messenger Bot with Flask & Google App Engine
 
Social Design - ProSEO
Social Design - ProSEOSocial Design - ProSEO
Social Design - ProSEO
 
Connect with Facebook to Rails Application By Nyros Developer
Connect with Facebook to Rails Application By Nyros DeveloperConnect with Facebook to Rails Application By Nyros Developer
Connect with Facebook to Rails Application By Nyros Developer
 
Creating an Uber Clone - Part XXXIII - Transcript.pdf
Creating an Uber Clone - Part XXXIII - Transcript.pdfCreating an Uber Clone - Part XXXIII - Transcript.pdf
Creating an Uber Clone - Part XXXIII - Transcript.pdf
 
Iskandar Najmuddin
Iskandar NajmuddinIskandar Najmuddin
Iskandar Najmuddin
 
The Flash Facebook Cookbook - FlashMidlands
The Flash Facebook Cookbook - FlashMidlandsThe Flash Facebook Cookbook - FlashMidlands
The Flash Facebook Cookbook - FlashMidlands
 
Leveraging Rails to Build Facebook Apps
Leveraging Rails to Build Facebook AppsLeveraging Rails to Build Facebook Apps
Leveraging Rails to Build Facebook Apps
 
Facebook Connect Integration
Facebook Connect IntegrationFacebook Connect Integration
Facebook Connect Integration
 
MozCon Seattle 2011 - Social Design
MozCon Seattle 2011 - Social DesignMozCon Seattle 2011 - Social Design
MozCon Seattle 2011 - Social Design
 
Leynard quizon work portfolio (2012 to 2014)
Leynard quizon work portfolio (2012 to 2014)Leynard quizon work portfolio (2012 to 2014)
Leynard quizon work portfolio (2012 to 2014)
 
Virtual Tech Days 2010 - Integrating Social Networks with ASP.NET
Virtual Tech Days 2010 - Integrating Social Networks with ASP.NETVirtual Tech Days 2010 - Integrating Social Networks with ASP.NET
Virtual Tech Days 2010 - Integrating Social Networks with ASP.NET
 
Building Facebook Apps
Building Facebook AppsBuilding Facebook Apps
Building Facebook Apps
 
Facebook Platform for Developers
Facebook Platform for DevelopersFacebook Platform for Developers
Facebook Platform for Developers
 
What's New on the Facebook Platform, May 2011
What's New on the Facebook Platform, May 2011What's New on the Facebook Platform, May 2011
What's New on the Facebook Platform, May 2011
 
Facebook Connect Presentation 08 10 2008
Facebook Connect Presentation 08 10 2008Facebook Connect Presentation 08 10 2008
Facebook Connect Presentation 08 10 2008
 

Más de Colin Su

Introduction to Google Cloud Endpoints: Speed Up Your API Development
Introduction to Google Cloud Endpoints: Speed Up Your API DevelopmentIntroduction to Google Cloud Endpoints: Speed Up Your API Development
Introduction to Google Cloud Endpoints: Speed Up Your API DevelopmentColin Su
 
Functional programming in Python
Functional programming in PythonFunctional programming in Python
Functional programming in PythonColin Su
 
Web2py Code Lab
Web2py Code LabWeb2py Code Lab
Web2py Code LabColin Su
 
A Tour of Google Cloud Platform
A Tour of Google Cloud PlatformA Tour of Google Cloud Platform
A Tour of Google Cloud PlatformColin Su
 
Introduction to MapReduce & hadoop
Introduction to MapReduce & hadoopIntroduction to MapReduce & hadoop
Introduction to MapReduce & hadoopColin Su
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App EngineColin Su
 
Django Deployer
Django DeployerDjango Deployer
Django DeployerColin Su
 
Introduction to Google - the most natural way to learn English (English Speech)
Introduction to Google - the most natural way to learn English (English Speech)Introduction to Google - the most natural way to learn English (English Speech)
Introduction to Google - the most natural way to learn English (English Speech)Colin Su
 
How to Speak Charms Like a Wizard
How to Speak Charms Like a WizardHow to Speak Charms Like a Wizard
How to Speak Charms Like a WizardColin Su
 
房地產報告
房地產報告房地產報告
房地產報告Colin Su
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to GitColin Su
 
Web Programming - 1st TA Session
Web Programming - 1st TA SessionWeb Programming - 1st TA Session
Web Programming - 1st TA SessionColin Su
 
Nested List Comprehension and Binary Search
Nested List Comprehension and Binary SearchNested List Comprehension and Binary Search
Nested List Comprehension and Binary SearchColin Su
 
Python-List comprehension
Python-List comprehensionPython-List comprehension
Python-List comprehensionColin Su
 
Python-FileIO
Python-FileIOPython-FileIO
Python-FileIOColin Su
 
Python Dictionary
Python DictionaryPython Dictionary
Python DictionaryColin Su
 
Vim editor
Vim editorVim editor
Vim editorColin Su
 
VPython introduction
VPython introductionVPython introduction
VPython introductionColin Su
 
Linux-Permission
Linux-PermissionLinux-Permission
Linux-PermissionColin Su
 
Linux pipe & redirection
Linux pipe & redirectionLinux pipe & redirection
Linux pipe & redirectionColin Su
 

Más de Colin Su (20)

Introduction to Google Cloud Endpoints: Speed Up Your API Development
Introduction to Google Cloud Endpoints: Speed Up Your API DevelopmentIntroduction to Google Cloud Endpoints: Speed Up Your API Development
Introduction to Google Cloud Endpoints: Speed Up Your API Development
 
Functional programming in Python
Functional programming in PythonFunctional programming in Python
Functional programming in Python
 
Web2py Code Lab
Web2py Code LabWeb2py Code Lab
Web2py Code Lab
 
A Tour of Google Cloud Platform
A Tour of Google Cloud PlatformA Tour of Google Cloud Platform
A Tour of Google Cloud Platform
 
Introduction to MapReduce & hadoop
Introduction to MapReduce & hadoopIntroduction to MapReduce & hadoop
Introduction to MapReduce & hadoop
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
Django Deployer
Django DeployerDjango Deployer
Django Deployer
 
Introduction to Google - the most natural way to learn English (English Speech)
Introduction to Google - the most natural way to learn English (English Speech)Introduction to Google - the most natural way to learn English (English Speech)
Introduction to Google - the most natural way to learn English (English Speech)
 
How to Speak Charms Like a Wizard
How to Speak Charms Like a WizardHow to Speak Charms Like a Wizard
How to Speak Charms Like a Wizard
 
房地產報告
房地產報告房地產報告
房地產報告
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Web Programming - 1st TA Session
Web Programming - 1st TA SessionWeb Programming - 1st TA Session
Web Programming - 1st TA Session
 
Nested List Comprehension and Binary Search
Nested List Comprehension and Binary SearchNested List Comprehension and Binary Search
Nested List Comprehension and Binary Search
 
Python-List comprehension
Python-List comprehensionPython-List comprehension
Python-List comprehension
 
Python-FileIO
Python-FileIOPython-FileIO
Python-FileIO
 
Python Dictionary
Python DictionaryPython Dictionary
Python Dictionary
 
Vim editor
Vim editorVim editor
Vim editor
 
VPython introduction
VPython introductionVPython introduction
VPython introduction
 
Linux-Permission
Linux-PermissionLinux-Permission
Linux-Permission
 
Linux pipe & redirection
Linux pipe & redirectionLinux pipe & redirection
Linux pipe & redirection
 

Último

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 

Último (20)

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 

Intro Facebook JS SDK - Build Social Apps Tutorial & Code Lab

  • 1. Introduction to facebook JavaScript SDK ! Tutorials & Code Lab, 2013 Winter Colin Su Social Network Application facebook JavaScript SDK
  • 3. Colin Su > littleq0903+sna@gmail.com > Software Engineer @ Tagtoo > National Chengchi University http://about.me/littleq facebook JavaScript SDK
  • 4. Before We Start… > Google Moderator: http://goo.gl/OVNszf
 Ask question here! > Code Lab Repo: https://github.com/littleq0903/fb-js-codelab
 The code you will need it in the practice, check out the Wiki! > Turn your smartphone to the vibrating mode facebook JavaScript SDK
  • 5. Outline > Facebook Developers Website > Facebook App > Facebook Components > Facebook JavaScript SDK (Software Development Kit) > Code Lab for Facebook JavaScript SDK facebook JavaScript SDK
  • 7. Facebook Developer Site Developer Portal for Facebook App Developers > developers.facebook.com > Documentation & Tutorials > Facebook Developer Apps Dashboard > Download SDK > Online Tools facebook JavaScript SDK
  • 8. Facebook Developer Dashboard You can see all your apps information here facebook JavaScript SDK
  • 9. Facebook App The most basic unit for a developer on Facebook > > Permissions > > > > Insights > > Developer Facebook App Developer Alert > > > > Settings > > Access Token App ID API Keys Request Permissions Developer Roles Daily Report Active User Statistic Sharing Report Breaking Changes New Updates Review Status Domain Settings Testing Go to Production facebook JavaScript SDK
  • 10. Facebook Component What can you do with Facebook JavaScript SDK? > Graph API - get data in and out of Facebook’s Social Graph > Login - authenticate Facebook users on your website > Social Plugins - don’t rebuild the wheel, take the power from Facebook facebook JavaScript SDK
  • 11. Social Plugins You know, that like button > Like Button > Activity Feed > Share/Send Button > Recommendations Box/Bar > Embedded Posts > Like Box > Follow Button > Registration > Comments > Facepile facebook JavaScript SDK
  • 13. Authentication The Key to The Facebook World > Facebook - username and password > Facebook API - access token > Preventing server gets your credentials directly facebook JavaScript SDK
  • 14. Authentication In The Real World Example… Not easy to destroy when stolen Username/Password Easy to destroy when stolen Access Token facebook JavaScript SDK
  • 15. Graph API Data Form of Facebook, with RESTful API  > Everything on Facebook forms a graph N > > Your profile is an object, and has a bunch of properties Every object will have an ID as the identity am e y thda Bir Me Work Ge E-m ail nd er facebook JavaScript SDK
  • 16. Graph API Alice Bob Data Form of Facebook, with RESTful API  > Some objects will be connected with Relations > You could fetch more data on Facebook through the relations Friends Photos Me Posts “Today I go to… “Damn, I hate school… facebook JavaScript SDK
  • 17. Facebook Dialog Redirect some actions, let Facebook do it! > Pop-up style Facebook widget > Examples - Friend Request Dialog - Login Dialog - Friends Dialog - Send Dialog facebook JavaScript SDK
  • 19. What Can JavaScript SDK Do > Authentication
 Server side cannot achieve this, the most important part of building Facebook apps > Interact with your website users
 the thing could be done by ONLY JavaScript > Load Facebook pre-defined components
 like buttons, comments, registration form in a second > Pre-defined functions from Facebook
 out-of-box APIs and don’t rebuild the wheel facebook JavaScript SDK
  • 20. Authentication Workflow of Authentication Redirect user to FB for authorizing your app Facebook response user’s access token to your function user type username & password to login and authorize Rock it up! JS SDK gets authorized and feedback on the interface or program facebook JavaScript SDK
  • 21. Authentication > FB.login()
 tell Facebook it’s about time to start the authentication flow > FB.Event.subscribe(event, callback)
 tell Facebook what to do when user got logged in facebook JavaScript SDK
  • 22. Graph API > Callback model applied > RESTful knowledge facebook JavaScript SDK
  • 23. Callback Model The most important part while using other’s JS library > > one of JavaScript patterns make sure action has been done function callback Data Could you plz do this for me? Arguments I’ve done, here you go! Job Okay! I will tell callback when I finished facebook JavaScript SDK
  • 24. RESTful API Model > HTTP Method: GET, POST, DELETE, PUT… > GET /user/{id}
 Fetch the information of the user with id {id} > POST /user
 Create a user > DELETE /user/{id}
 Delete the user with id {id} facebook JavaScript SDK
  • 25. Graph API A Simple GET Example > FB.api( graph_path , callback ) FB.api(“/me”, function(response){
 console.log(response);
 }); { "id": "1681390745", "name": "Colin Su", "first_name": "Colin", "last_name": "Su", "link": "https://www.facebook.com/littleq0903", "username": "littleq0903", "work": [ ... ], "gender": "male", "timezone": 8, "locale": "en_US", "verified": true, "updated_time": "2013-12-02T17:44:06+0000" } JavaScript Result facebook JavaScript SDK
  • 26. Graph API A Simple GET Example > FB.api( graph_path , callback ) FB.api(“/me/posts”, function(response){ // will response an array in “data”
 console.log(response);
 }); { "data": [ {post}, {post}, {post}, {post}, {post} ] } JavaScript Result facebook JavaScript SDK
  • 27. Graph API A Simple POST Example > FB.api( graph_path , type , options , callback ) var body = 'Reading JS SDK documentation'; FB.api('/me/feed', 'post', { message: body }, function(response) { if (!response || response.error) { console.log(‘Error occured'); } else { console.log(‘Post ID: ' + response.id); } }); JavaScript Post ID: 6892345 Result facebook JavaScript SDK
  • 28. Social Plugins Facebook’s Native Component on Your Website > out-of-box Facebook plugins > no programmatic stuffs
 it’s just a piece of HTML snippet > configure it by adjusting DOM attributes facebook JavaScript SDK
  • 29. Social Plugins Code Example > Insert a snippet into your HTML code <div class="fb-like" data-href="https://www.facebook.com"> </div> HTML Result facebook JavaScript SDK
  • 30. Dialogs Code Example > FB.ui(parameters , callback) FB.ui({ method: 'friends', id: 'brent' }, function(response){}); JavaScript Result facebook JavaScript SDK
  • 31. Dialogs Code Example > FB.ui(parameters , callback) <a href=“https://www.facebook.com/dialog/friends/? id=brent &app_id=458358780877780 &redirect_uri=https://mightylowlands-6381.herokuapp.com/“>Add Brent as Friend</ a> HTML Add Brent as Friend Result facebook JavaScript SDK
  • 33. Facebook Developer Tools There are some tools to help out your development of Facebook app > Graph API Explorer
 Examine the result of Graph API queries > JavaScript Test Console
 Verify your JavaScript code’s validation and examine the result > Access Token Tool
 For generating access tokens, for streamline your testing facebook JavaScript SDK
  • 34. Graph API Explorer > simulate querying/FQL > simulate GET/POST/DELETE request > filter fields > generate/use access token easily facebook JavaScript SDK
  • 36. Access Token Tool > generate tokens easily > user/app tokens in one place > test various tokens for you app facebook JavaScript SDK
  • 38. In This Code Lab You will learn… > how to integrate Facebook JavaScript SDK into your project > how to authenticate user’s Facebook account > how to access Graph API with users’ credentials > how to place a Facebook cool widget on your page > how to use Facebook dialog to save your time facebook JavaScript SDK
  • 39. Before We Start… Get prepared > Google Moderator: http://goo.gl/OVNszf
 Ask question here! > Code Lab Repo: https://github.com/littleq0903/fb-js-codelab
 The code you will need it in the practice, check out the Wiki! > Download the CodeLab pack
 https://github.com/littleq0903/fb-js-codelab/releases/download/v1.0/fb-js-codelab.tgz > Ready your editor, web browser, and passion! facebook JavaScript SDK
  • 40. Introduction to facebook Python SDK ! Tutorials & Code Lab, 2013 Winter Colin Su Social Network Application facebook JavaScript SDK
  • 42. Before We Start… > Code Lab Repo: https://github.com/littleq0903/fb-python-codelab
 The code you will need it in the practice, check out the Wiki! > Turn your smartphone to the vibrating mode facebook JavaScript SDK
  • 45. Website v.s. Web Application > Website: display information to visitors > Web Application: interact with users, response users’ various request facebook JavaScript SDK
  • 46. Web Application > Front End: interact with users (JavaScript)
 You’ve learned. > Back End: deal with data (Python)
 The part related to this presentation facebook JavaScript SDK
  • 47. Stacks Web Framework Web Server Web Interface User User User facebook JavaScript SDK
  • 48. Heroku > Platform as a Service (PaaS) > Easy to setup > Your code is everything http://heroku.com facebook JavaScript SDK
  • 49. Workflow The Story of a Heroku Application Create a Heroku Application Write Your Code Deploy to Heroku Test facebook JavaScript SDK
  • 51. JSON Serialization > JSON to Python Object mapping > json module > json.loads(str) json string -> python object > json.dumps(obj) python object -> json string facebook JavaScript SDK
  • 52. Load Example of JSON Serialization import json {u'a': [1, 2, 3, 4, 5], u'b': 2} ! # is a string text = '{"a": [1,2,3,4,5], "b": 2}' ! result = json.loads(text) ! print result Python Console facebook JavaScript SDK
  • 53. Dump Example of JSON Serialization import json {"a": [1,2,3,4,5], "b": 2} ! # is a dictionary data = {u'a': [1, 2, 3, 4, 5], u'b': 2} ! result = json.dumps(data) ! print result Python Console facebook JavaScript SDK
  • 54. Bottle.py > Web Framework
 WSGI-Compatible > Writing functions as Request Handler > Only one file as library > http://bottlepy.org
 Documentation facebook JavaScript SDK
  • 55. Request Handler Example Example of Bottle’s Request Handler from bottle import Bottle hello world ! #create your web application app = Bottle() ! #define a function and point to /index @app.route('/index') def index(): return 'hello world' Python /index facebook JavaScript SDK
  • 56. URL Argument Example of Bottle’s Request Handler from bottle import Bottle hello world ! #create your web application app = Bottle() ! # <name> will be the 'name' argument in the function @app.route('/index/<name>') def index(name='default'): return "hello " + name Python /index/world facebook JavaScript SDK
  • 57. Access Request Example of Bottle’s Request Handler from bottle import Bottle #import request function from bottle import request <LocalRequest: GET http://localhost:8080/index> ! #create your web application app = Bottle() ! #define a function and point to /index @app.route('/index') def index(): return request Python /index facebook JavaScript SDK
  • 58. Heroku Deployment > First time, run heroku login to authenticate > Must be a Git repository: git init > heroku create
 Create a Heroku app and add it to git remotes > heroku config:set var1=val1 var2=val2
 Set Environment Variables on Heroku > git push heroku master
 Deploy facebook JavaScript SDK
  • 59. Git Remotes > Git's remote branch > Github, Heroku or your own Git server > Your Repo git push <remote> <branch> Github Heroku facebook JavaScript SDK
  • 60. Installing Python Libraries How to made Heroku server install Python packages for you > requirement.txt
 Create this file and put it under the root folder > one package per line > <package name> > <package name>==<version> > (local) pip install -r ./requirements.txt facebook JavaScript SDK
  • 61. Facebook Python SDK > access Facebook Graph > query with FQL > Operating Data with Python is easier than JavaScript facebook x facebook JavaScript SDK
  • 62. Documentation? https://github.com/pythonforfacebook/facebook-sdk/blob/master/facebook.py > In Python, sometimes source code is the best documentation > Doc string > So does bottle.py facebook JavaScript SDK
  • 63. Graph API > facebook.GraphAPI( [access_token] ) > access token is not necessary facebook JavaScript SDK
  • 65. Get Object Example of Facebook Python SDK import facebook ! token = "..." ! graph = Facebook.GraphAPI(token) ! me = graph.get_object('me') ! print me Python {u'first_name': u'Colin', u'gender': u'male', u'id': u'1681390745', u'last_name': u'Su', u'link': u'https://www.facebook.com/littleq0903', u'locale': u'en_US', u'name': u'Colin Su', u'timezone': 8, u'updated_time': u'2013-12-05T15:31:10+0000', u'username': u'littleq0903', u'verified': True, u'work': [{u'employer': {u'id': u'240616999424812', u'name': u'Tagtoo u5854u5716u79d1u6280'}, u'location': {u'id': u'110765362279102', u'name': u'Taipei, Taiwan'}, u'position': {u'id': u'109542932398298', u'name': u'Software Engineer'}, u'start_date': u'2013-09-30'}, {u'employer': {u'id': u'454607821247176', u'name': u'g0v.tw u53f0u7063u96f6u6642u653fu5e9c'}}]} Console facebook JavaScript SDK
  • 66. Put Object Example of Facebook Python SDK ! Colin Su 3 seconds ago from Graph API --------------------------- token = "..." ! ! I'm testing api ! import facebook msg = "I'm testing api" ! graph = Facebook.GraphAPI(token) ! graph.put_object('me', 'feed', message=msg) --------------------------Like . Comment . Promote . Share --------------------------Obama and Mark Zurgerburg like this. --------------------------Someone lalalalala 5 seconds ago . Like ! Somebody ? 10 seconds ago . Like ! ! Python Facebook facebook JavaScript SDK
  • 67. FQL > Facebook Query Language > SQL-like query for Facebook data > support nested querying, batch querying facebook JavaScript SDK
  • 68. FQL Query Example of Facebook Python SDK import facebook ! [{u'url': u'http://www.facebook.com/littleq0903', u'username': u'littleq0903', u'name': u'Colin Su'}] token = "..." ! graph = Facebook.GraphAPI(token) ! # me() is the built-in function for returning your id query = "SELECT name,url,username FROM profile WHERE id = me()" ! print graph.fql(query) Python Console facebook JavaScript SDK
  • 69. Python SDK Code Lab Chapter. 6 facebook JavaScript SDK
  • 70. Code Lab Repository > littleq0903/fb-python-codelab @ Github > Wiki -> Code Lab Checkpoints > Download the sample package facebook JavaScript SDK