【Facebook应用程式开发教学2】用RubyonRail

  •    2020-06-12
  • 照目前官方支援的情况来看,用 php 来写 facebook 的应用应该是首选,但如果想用 ruby on rails 写,也不是不行。这篇文章就拿 ruby on rails 来介绍 fb ap 的写法,并整合正ㄏㄤ的 Heroku hosting,如何在四个小时内,无成本的建立出你的 facebook ap。

    在本篇文章中,一般性的 facebook ap 注意事项请参考 前一篇 ,本篇只针对 ruby on rails 特定的部分做介绍。一样,拿已经写过的" 朋友点点名 "为例,来介绍怎幺入手。

    【Facebook应用程式开发教学2】用RubyonRail

    0.  首先,还是玩一下" 朋友点点名 "这个应用 !了解一下他做了甚幺事情。

    1.  介绍一下"朋友点点名"的流程:

    首先确认是否授权"朋友点点名"存取你的 facebook 资料。

    授权后,facebook 会问你,想取得"自动发布 wall" 的权限。

    接下来,系统自动选一个你的朋友,显示他的图片,并且自动问你一个问题,你需要输入你的答案。

    回答后,你的回答就自动发布到该朋友的 wall 上面了。

    这里牵涉到的部分比 php 写的那支较多,底下开始快速的介绍:

    3. 安装 facebooker plugin

    开一个 rails 专案

    rails testproject

    在你的 rails 专案里,安装 facebooker plugin

    cd testproject script/plugin install git://github.com/mmangino/facebooker.git

    4. 建立 heroku 帐号与环境

    首先,先到 http://www.heroku.com 申请一个帐号

    确定申请好了之后,在你的 linux 环境中,用 root 执行

    gem install heroku  //这样就可以使用 heroku 相关指令,远端管理操作heroku create testproject //建立 heroku 上的一个 ror 执行专案,会问你 Heroku credentials,输入你刚建立的 heroku 帐号的 email 跟密码,这样就可以建立完成。本例子中, testproject 是专案名称。

    上述步骤如果成功完成,画面上会吐出一串字,类似:

           Created http://testproject.heroku.com/ | [email protected]:testproject.git

    其中,http://testproject.heroku.com/就是你的网站网址!对于小程式来说,你连 domain name 都不用申请就可以把 ap 放到 facebook 上了。而 [email protected]:testproject.git 这行就是 heroku 上帮你开的 source code 存放的地方了。

    接下来,我们把刚刚产生的 rails 专案都放上去吧!

    前提是,你得会用 git,而且有安装了 git。本篇就不描述相关安装方法。

    在 testproject rails 专案的目录中

    git init git add . git commit -m "the first time" git push [email protected]:testproject.git master

    至此,你会看到类似这样的讯息:

    Counting objects: 62, done. Compressing objects: 100% , done. Writing objects: 100% , 79.37 KiB, done. Total 62 , reused 0 -----> Heroku receiving push -----> Rails app detected Compiled slug size is 80K -----> Launching. done http://testproject.heroku.com deployed to HerokuTo [email protected]:testproject.git * [new branch]      master -> master

    那幺,看一下 http://testproject.heroku.com,就看到了最基本的 ruby on rails  server 已经跑起来了!你有了一个 server 可以用了!

    当然,这样的使用只能作为实验等级,大规模运用还须对 heroku 有进一步的了解,并且需要$$。但是我们现在可以用这个免费的资源来做点有趣的事情吧。

    5. 到 facebook 上面建立一个新程式,拿到 api key 等资料,修改 config/facebooker.yml

    当装了 facebooker plugin 后,专案的 config 目录会多一个 facebooker.yml 的档案,修改其中 production: 的段落

    最重要的只有三行

    api_key: 填入吧 secret_key: 填入吧! canvas_page_name: /

    这样,準备工作差不多完成了,底下开始写 facebook 相关的程式码了!

    6.  让使用者授权 testproject 可以存取 facebook 上他的资料

    在 controller 里面加上这两行

    ensure_application_is_installed_by_facebook_user filter_parameter_logging :fb_sig_friends

    7. 随机挑选朋友

    在 controller 里面,写这行。那幺@friends 这个 array 就是你所有朋友打乱排序的结果。

    @friends=

    8. 显示朋友图片

    在 view 里面,这样写:

    9. 要求同意自动 publish 到 wall 的权限

    在 view 里面,加上

    至于跳出一个视窗说要 publish 感想到朋友的 wall 上的写法,请参阅 php 那篇 。

    10. 重新上传 code 到 heroku 去

    专案根目录下,执行

    git add . git commit -m "the first time" git push [email protected]:testproject.git master

    看到 server 重新启动之后,连到你的 facebook app 试试看啰! http://apps.facebook.com/ask_friend/

    11. 遇到问题!

    执行的时候难免遇到问题,想查 log 的话,打

    heroku logs --app testproject  //把 testproject 换成你的 heroku project 名称

    以上,快乐的开始写 facebook ap 吧~如果有问题,也欢迎留言讨论,教学相长。


  • 相关新闻