想要研究一下這一塊,發現中文網頁,竟然沒什麼相關資料,

可能是阿共仔屏蔽了Facebook吧!!

那好,我就把我目前就研究到此的作法和心得寫一寫,

以免後進走太多冤妄路,

想要撰寫我標題所說的Facebook +JQuery+ GAE

你必需具備:

HTML基礎

Python基礎 

Google帳號和已認證的可用的GAE帳號

GAE的架構

上述可參考上官林傑的 Google應用服務引擎開發實戰Google應用服務引擎開發實戰

http://www.books.com.tw/exep/prod/booksfile.php?item=0010443092

Facebook的架構

FBML,FBJS的撰寫

這邊可參考 賽大的 Facebook與funP應用程式設計Facebook與funP應用程式設計

http://www.books.com.tw/exep/prod/booksfile.php?item=0010445951

PS:這本用的是Facebook自行開發的PHP API,和我們要用的pyfacebook不同,

不過除了部份API不支援,其實大部份都是相通的,盡請安心服用。

 

Javascript基礎(初章暫不需)

Javascript書很多,本人推薦 JavaScript私房書 JavaScript私房書 <光碟1片 >

http://www.books.com.tw/exep/prod/booksfile.php?item=0010294368

JQuery基礎(初章暫不需)

我找不到覺得優的書,所以我都只直看網站的turtuial,不過歡迎大家推薦一下

 

IP分享器映射http port至你的電腦

各家分享器做法不同,請參考你的說明書

 


 

 

ok 重點來了..

本初章先將焦點放在如何在GAE上運行pyfacebook進而開發facebook的application

Pyfacebook基礎,網路神人團所撰寫的pyfacebook 用python撰寫的可以和facebook 溝通的Server端API可供GAE使用開發

pyfacebook:

http://github.com/sciyoshi/pyfacebook/

 

1.首先將 pyfacebook下載解壓後,存至gae目錄下

2.在pyfacebook目錄裡建置app.yaml

內容如下:

application: whatever

version: 1

runtime: python

api_version: 1

handlers:

- url: .*

   script:main.py

 

主檔main.py

內容如下


# -*- coding: utf-8 -*-


import cgi
import sys, os
import wsgiref.handlers

from google.appengine.ext import webapp
from google.appengine.ext.webapp import template
import facebook
from facebook import FacebookError

FACEBOOK_API_KEY = '你的key' #如何申請請自行參閱,不詳述囉
FACEBOOK_SECRET_KEY = '你的key'
_DEBUG = True


class MainPage(webapp.RequestHandler):
    def get(self):
    #def post(self):
        fb = facebook.Facebook(FACEBOOK_API_KEY, FACEBOOK_SECRET_KEY)
        if fb.check_session(self.request) and fb.added:
            pass
        else:
            url = fb.get_add_url()
            self.response.out.write('<script language="javascript">top.location.href="' + url + '"</script>')
            return


    #get friend list begin
         friend_ids = fb.friends.get()
         friend_ids.append(fb.uid)
        
         info = fb.users.getInfo(friend_ids, ['name', 'pic_square', 'uid'])
         template_values={}
         template_values={'info': info}
    #get friend list end

        for i in info:

            self.response.out.write('<img src='+i['pic_square']+' />'+i['name']+'<br />')


def main():
    application = webapp.WSGIApplication([('/',Mainpage)],debug=_DEBUG)
    wsgiref.handlers.CGIHandler().run(application)
    
if __name__ == "__main__":
    main()

 

執行一下你的dev_appserver.py --address=映射好的內納IP --port=80 demos/pyfacebook

(其實你也可以直接下appcfg.py上傳你的程式至GAE上,不過這樣初期開發會增加很時間成本)

 

設定你的facebook developer 你的應用程式

將Canvas URL:設定為你的外網IP(或是GAE的應用程式網址)

 

運行一下:

http://apps.facebook.com/gae_cloud/
(請輸入你的facebook app 網址)

將 將!!!

你就會看到你的朋友列表了

 

預告:目前是使用iframe的方式,

第二節來說一下FBML好了

創作者介紹
創作者 wolkesau 的頭像
wolkesau

格字旅人

wolkesau 發表在 痞客邦 留言(1) 人氣()