在 Google App Engine 上托管的 Facebook 应用程序

标签 facebook google-app-engine facebook-graph-api facebook-fql python-2.7

我是 Facebook 应用程序的新手,我有一个应用程序已经在 GAE 上启动并运行(使用 python)。我想将它与 Facebook 集成,这样我就可以访问一些用户的数据来帮助我个性化应用程序(喜欢的页面、兴趣、他们来自哪里等数据)。还可以分享应用程序的输出以供 friend 查看。

我想我会在 https://developers.facebook.com/ 上选择 Facebook 应用程序选项

我不知道从哪里开始,有一些教程(大多数都很旧,有些使用已弃用的脚本所以有点担心),还有 FBML.. 我在想也许我可以仅使用 Facebook 的登录获得相同的数据,然后使用 FQL 访问这些数据。

而且我不知道我是否会受制于新的 https 限制(Facebook 表示从 2011 年 10 月起必须拥有 SSL 证书)。

那么底线..我从哪里开始?

最佳答案

开始吧:

从此链接下载:https://github.com/jgorset/facepy/tree/master/facepy :

从下载中,您将拥有:
signed_request.py 解析将由 facebook 在您的 Canvas url:https://apps.facebook.com/myappPOST 方法中

graph_api.pygraphapi进行操作https://developers.facebook.com/docs/reference/api/

注意:您将从 facebook js sdk 编写的 cookie 中包含 access_token。
对于 fb js sdk,请参阅此答案:https://stackoverflow.com/a/8625873/492258 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

对于连续调用,您将使用我上面提到的 cookie:

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)
            #you got your registered user again.

对于注册,最简单的方法是从 fb js sdk,我已经提到过

#finally for SSL, in your app.ymal:

- url: .*
  script: django_bootstrap.py
  secure: optional 

不要忘记为 Internet Explorer 设置 P3P,iframre 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 

关于在 Google App Engine 上托管的 Facebook 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8748415/

相关文章:

java - 如何使用java在facebook中获取用户访问 token

ios - 将谷歌云端点 iOS 客户端指向开发服务器

javascript - Facebook 评论插件无法正常工作

asp.net-mvc - 如何使用 .Net 创建 Facebook 风格的缩略图选择器

python - 使用 Python 列表查询 Google App Engine 数据存储

php - Google App Engine 中的 Wordpress 卡住(保存搜索索引)

php - Facebook 好友数?

c# - 如何邀请Facebook申请?

ios - Facebook 无法检索 iPhone 商店 ID?

javascript - 使用 json 中的 javascript 检索总数