这里我们来看一下:
从这个链接下载:
https://github.com/jgorset/facepy/tree/master/facepy:
下载后,你将会得到以下文件:
signed_request.py
用于解析 Facebook 在你的 Canvas URL(
https://apps.facebook.com/myapp
)以
POST
方法发布的 signed_request。
graph_api.py
用于对
graphapi
进行操作。参见
https://developers.facebook.com/docs/reference/api/。
注意:你需要在 cookies 中包含 Facebook JS SDK 写入的 access_token。
有关 FB JS SDK,请参见此答案:
https://dev59.com/3F7Va4cB1Zd3GeqPLZ6S#8625873 的 JavaScript 部分。
在你的首页中:
fb_app_secret='abcd...'
fb_app_id = 123345
def index(request):
if request.POST:
signed_request_param = request.POST.get('signed_request)
if signed_request_param:
#signed_request.py
signed_request_dic = signed_request.parse_signed_request(signed_request_param, fb_app_secret)
if signed_request_dic:
if signed_request_dic.has_key('user_id'):
fb_uid = signed_request_dic['user_id']
#you got your man that is previously authorized your fb app : mypp
在后续的调用中,您将使用我上面提到的 cookies。
def my_page(request):
my_dict = None
my_dict = signed_request.get_user_from_cookie(request.COOOKIES, fb_app_id, fb_app_secret)
if my_dict:
if my_dict.has_key('uid'):
fb_uid = my_dict['uid']
fb_uid = int(fb_uid)
注册的最简单方式是使用FB JS SDK,我已经提到了。
- url: .*
script: django_bootstrap.py
secure: optional
不要忘记为Internet Explorer设置P3P,以解决iframe cookie问题。
def my_page(request):
....
response = render_to_response('mypage.html', view_params )
response["P3P"] = 'CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"'
return response