- 浏览: 174908 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
xiangyufangai:
很好很强大膜拜中哈哈!!
VB 两个字符串处理函数(类似Left/Mid/Right/Split的结合) -
hellohank:
这个……叫摘要算法,不叫加密算法~
Java实现的加密工具类(支持MD5和SHA) -
NIUCH1029291561:
接口有问题奥
网银在线支付接口和应用 -
yeuego:
能幫你就行了
MySQL索引分析 -
ForgiDaved:
很给力的介绍。记得前段时间给一个系统加功能,设计的表没有 ...
MySQL索引分析
手把手教你开发Facebook 应用
在这里记录一下,日后再回过来看看
目录
- 引言
- 创建“Hello World”程序
- 在用户信息栏中使用FBML(FaceBook标记语言)
- 在用户信息栏中使用mock-AJAX技术
- 使用Mysql数据库创建计数器
- 将这些例子代码集合到一起
- 相关下载
引言
这个教程指导我们如何创建一个名为“tutorialapp”的应用,当你创建自己的程序的时候,它可以作为一个模板。使用这个教程需要你有一个支持php5的web服务器。
最新版本的“tutorialapp”可以在这里(http://tperry256.dreamhost.com/f8/tutorialapp/)找到。访问这个连接的时候,系统会要求你登录到facebook,并且增加“tutorialapp”程序。在很多公司像这样访问服务一个月只需要花费几美元而已。
当你创建了自己的应用,你会使用一个不同的名称和不同的服务器。我们把那些会使你的应用与众不同的地方用这种颜色高亮显示。
创建“hello World”程序
- 访问:http://developers.facebook.com/
- 点击“Get Started”
- 点击“Add Facebook Developer Application”
- 一个到“Developer”的链接将显示在Facebook的左边导航栏,进入应用开发
- 点击“Setup new Application”按钮
- 下面是一些表单的填写步骤
- Application Name:在本文中,我们填写“Tutorial Application”--对于你自己的应用,你要填写自己不同的名称。
- 点击“Terms of service”
- 点击“Optional Fields”链接,来进行更详细的配置
- Support E-mail:你在Facebook的注册Email会自动填入,但可能你并不希望自己的个人Email被所有使用你应用的人知道,所以也可以填写一个你可以使用的其他Email。
- CallBack Url:在本文中,我们填写“'http://tperry256.dreamhost.com/f8/tutorialapp/”。你应该填入不同的URL,通常情况下,你要填写你自己服务器上运行这个应用的目录的URL。
- Canvas Page URL:http://apps.facebook.com/:在本文中,我们填写“tutorialapp”--你必须为自己的应用填写一个不同的名称。
- Use FBML:保持默认设置即可。
- Application Type:保持此处设置为:“website”
- Can your application be added to Facebook:设置“yes”,然后进行详细设置
- TOS URL:留空即可。
- Post-Add Url:在本文中,我们填写“'http://apps.facebook.com/tutorialapp/”,对于你自己的应用,一般你应该填写自己一个不同的面板页的完整路径。
- Default FBML:输入“hello”
- 其他的设置按照安装默认即可。
- Side Nav Url:在本文中,我们填写“http://apps.facebook.com/tutorialapp”,对于你自己的应用,也应该填写自己不同面板页的完整路径。
- 其他设置使用默认即可。
点击“Submit”按钮提交。进入“My Application”页面,检查刚才的应用是否已经创建。拷贝php5最新版的客户端库文件到你的服务器端应用程序的目录。在后面的“相关下载”中有库文件的一些下载地址。如果你使用一个类UNIX 的shell,并且当前位于应用程序的目录,那么可以运行下面的命令:
wget http://developers.facebook.com/clientlibs/facebook-platform.tar.gz tar zxvf facebook-platform.tar.gz cp facebook-platform/client/facebook.php . cp facebook-platform/client/facebookapi_php5_restlib.php . rm -rf facebook-platform.tar.gz facebook-platform |
11. 建立一个“appinclude.php”文件,该文件要被你的应用的所有php文件在头部包含。将如下代码粘贴到文件中:
<?php require_once 'facebook.php'; $appapikey = ''; $appsecret = ''; $facebook = new Facebook($appapikey, $appsecret); $user = $facebook->require_login(); //[todo: change the following url to your callback url] $appcallbackurl = ''; //catch the exception that gets thrown if the cookie has an invalid session_key in it try { if (!$facebook->api_client->users_isAppAdded()) { $facebook->redirect($facebook->get_add_url()); } } catch (Exception $ex) { //this will clear cookies for your application and redirect them to a login prompt $facebook->set_user(null, null); $facebook->redirect($appcallbackurl); } |
12. 将其中的“app_key”和“secret”替换成你自己的。他们将显示在应用开发网站的的“My Applications”页面中,你同时要将我们的“call back URL”换成你自己的。
13. 创建一个“index.php”文件,它将是你的应用的主页面,将如下代码粘贴进去:
<?php require_once 'appinclude.php'; echo "<p>hello $user</p>"$$ |
14. 在浏览器中输入你创建的应用的回调地址,你也可以输入面板页的路径,都会访问到“index.php”这个主页。总之,不管哪种方式,都是要在你的浏览器中输入地址 :-)
这是我们这个应用的回调地址:http://tperry256.dreamhost.com/f8/tutorialapp/
这是我们这个应用的面板页地址:http://apps.facebook.com/tutorialapp/
15. 点击“I agree”接受你的应用的服务条款,然后点击“Add [你的应用的名称]”。
16. 接着系统会自动转向到面板页,其中包含了“index.php”的运行的输出结果。
17. 在这个应用中,进入你的用户信息栏中,你会发现“hello”字符,这个是你在前面设置的默认FBML。
18. 最后,从左边的导航栏可以返回到面板页。
在个人信息栏中使用FBML
- 下面是“index.php”的一个扩展版本,它可以将用户在表单中填写的字符串显示在用户的信息栏中
- 注意:提交空字符串会导致用户信息栏的无法显示!
<?php require_once 'appinclude.php'; echo "<p>hello $user</p>"$$ if (isset($_REQUEST['profiletext'])) { $facebook->api_client->profile_setFBML($_REQUEST['profiletext'], $user); $facebook->redirect($facebook->get_facebook_url() . '/profile.php'); } echo '<form action="" method="get">'; echo '<input name="profiletext" type="text" size="30" value=""><br>'; echo '<input name="submit" type="submit" value="Display text on profile">'; echo '</form>'; |
在用户信息栏中使用mock-AjAX技术
- 下面的代码使用FBML的mock-AJAX技术在用户信息栏中增加一个表单,会给用户一种信息栏被动态更新的假象。
- 注意“index.php”文件的最上面对mock-AJAX进行调用的if语句。
<?php if (isset($_REQUEST['mockfbmltext'])) { echo $_REQUEST['mockfbmltext']; exit; } require_once 'appinclude.php'; echo "<p>hello $user</p>"$$ $fbml = <<<EndHereDoc <fb:subtitle>This is the subtitle</fb:subtitle> <form> <input name="mockfbmltext" type="text" size="30"> <br /> <input type="submit" clickrewriteurl="$appcallbackurl" clickrewriteid="preview" value="Draw text below" /> <br /> <div id="preview" style="border-style: solid; border-color: black; border-width: 1px; padding: 5px;"> </div> </form> EndHereDoc; $facebook->api_client->profile_setFBML($fbml, $user); echo "<p>the following form was added to the profile box:</p>"$$ echo $fbml; |
使用Mysql数据库创建计数器
- 这个例子需要你在服务器上创建一个php脚本可以访问的数据库。
- 如果你没有数据库,就新建一个。
- 在这个数据库中新建一个名为“counter”的数据表,表中有一个名为“count”的integer类型的列。
- 创建一个新文件名为“dbappinclude.php”,将下面的代码粘贴进去,别忘了替换你自己的数据库地址,用户,密码和数据库名称。
<?php require_once 'appinclude.php'; $dbhost = ''; $dbuser = ''; $dbpass = ''; $dbname = ''; $conn = mysql_connect($dbhost, $dbuser, $dbpass); mysql_select_db($dbname, $conn); function query($q) { global $conn; $result = mysql_query($q, $conn); if (!$result) { die("Invalid query -- $q -- " . mysql_error()); } return $result; } |
5. 现在在浏览器中访问下面这个新版本的“index.php”,主页将显示一个计数器,并且没访问一次“index.php”,计数器就会更新一次。
<?php require_once 'dbappinclude.php'; echo "<p>hello $user</p>"$$ $rs = query("select count from counter"); if ($row = mysql_fetch_assoc($rs)) { $count = $row['count']; query("update counter set count=count+1"); } else { query("insert into counter values (1)"); $count = 1; } echo "<p>the count is $count</p>"$$ |
将这些例子代码集合到一起
- 这里是一个最终版本的“index.php”,将上面的例子集合到了一起,假定你已经在前一个例子中创建了“dbappinclude.php”
<?php if (isset($_REQUEST['mockfbmltext'])) { echo $_REQUEST['mockfbmltext']; exit; } require_once 'dbappinclude.php'; echo "<p>hello $user</p>"$$ $rs = query("select count from counter"); if ($row = mysql_fetch_assoc($rs)) { $count = $row['count']; query("update counter set count=count+1"); } else { query("insert into counter values (1)"); $count = 1; } echo "<p>the count is $count</p>"$$ if (isset($_REQUEST['profiletext'])) { $facebook->api_client->profile_setFBML($_REQUEST['profiletext'], $user); $facebook->redirect($facebook->get_facebook_url() . '/profile.php'); } echo '<form action="" method="get">'; echo '<input name="profiletext" type="text" size="30" value=""><br>'; echo '<input name="submit" type="submit" value="Display text on profile">'; echo '</form>'; $fbml = <<<EndHereDoc <form> <input name="mockfbmltext" type="text" size="30"> <br /> <input type="submit" clickrewriteurl="$appcallbackurl" clickrewriteid="preview" value="Draw text below" /> <br /> <div id="preview" style="border-style: solid; border-color: black; border-width: 1px; padding: 5px;"> </div> </form> EndHereDoc; $facebook->api_client->profile_setFBML($fbml, $user); echo "<p>the following form was added to the profile box:</p>"$$ echo $fbml; |
相关下载
- facebook_client.tar.gz -- php5的最新客户端库文件
- tutorialapp.tar.gz -- 将文中例子合并到一起的代码。在你自己的服务器上运行时需要替换其中的“app_key”,“application secret”和数据库信息
- tutorialapp.zip --和上面tutorialapp.tar.gz内容相同,为zip压缩格式
发表评论
-
用户体验之网页版块设计
2011-05-27 16:50 1592用户体验(User Experience ... -
CivWorld Relies On Multiplayer, Multiple Game Types To Conquer Facebook
2011-05-24 10:13 1350Console game publisher 2K Games ... -
游戏业各种形式的起伏给社交媒体的启示
2011-05-24 10:08 1119两点之间线段最短 ... -
手机社交游戏需具备的十大功能
2011-05-24 10:04 1099在旧金山举办的游戏开 ... -
全球SNS用户学历调查:中国社交网站包揽前四
2011-05-24 10:03 11605月12日消息,近日 ... -
Facebook新游戏人体模仿俄罗斯方块
2011-05-24 09:57 1472Eastpak的Facebook广告游戏《SPAK》是人体 ... -
Fleck用谷歌地图功能推LBS社交游戏
2011-05-24 09:54 1118也许有玩家还没有 ... -
调查称10%用户成功完成50%社交游戏邀请
2011-05-24 09:49 1329一组调查人员在去年发布了一份关于社交游戏传播动态的调查 ... -
MySQL索引分析
2011-04-19 14:10 1807走向精通MySQL的道路非常的艰难,还好各种关系型数据库大同小 ... -
虚拟主机集群的优缺点分析
2011-03-09 16:47 1070服务器虚拟化最显著 ... -
集群的负载均衡技术
2011-03-09 16:46 957前言 当前,无论 ... -
网银在线支付接口和应用
2011-03-09 16:44 2018最近关注项目中在线支付,所以看一下文档,在线支付应用开发: ... -
Facebook如何管理150亿张照片
2011-03-09 16:42 1149Facebook 的照片分享很受欢迎,迄今,Faceboo ... -
mmorpg要点整理
2011-03-02 00:41 957主题:mmropg客户闻风而动 ... -
如何写一份好的数据分析报告/邮件
2011-03-02 00:21 746在谈这个问题之前先说 ... -
什么是游戏策划,如何成为一名游戏策划
2011-03-02 00:20 896一:什么是策划 策划, ... -
游戏活动策划案例分析
2011-03-02 00:15 878某网游是由国内某知名游戏公司研发并运营,游戏题材为武侠。在这款 ... -
三维程序游戏制作基本常识
2011-03-02 00:06 709很多flash3d初学者都是从 ... -
遇敌原理研究
2011-03-02 00:05 689这是原理解释,虽说 ... -
Window服务全攻略
2011-02-16 00:04 954对于我们经常使用的windows 2000/xp ...
相关推荐
这不仅会导致评价结果的主观性和不确定性增加,还可能影响设计团队之间的协作效率。因此,建立一套科学、合理的评价体系对于提升设计质量和团队合作至关重要。 #### 评价体系的核心要素 ##### 设计五维评价标准 ...
总之,Facebook Android SDK是Android开发者实现Facebook功能不可或缺的工具,它简化了与Facebook平台的交互,提高了开发效率,同时也为用户提供了一致且流畅的社交体验。通过熟练掌握这些知识点,开发者可以充分...
2. 分类模型:如果签到行为是二元(签到或不签到),则可以使用逻辑回归、支持向量机(SVM)、随机森林分类或者神经网络。 3. 时间序列分析:考虑到签到行为可能具有时间依赖性,可以使用ARIMA、LSTM(长短期记忆...
《Facebook位置预测:基于K近邻算法的实践》 数据科学在当今社会中扮演着越来越重要的角色,尤其在社交媒体领域,如Facebook。Facebook用户产生的大量数据为预测分析提供了丰富的资源。本篇将聚焦于一项挑战——...
这本书的书名——《打造Facebook:亲历Facebook爆发的5年》很嚣张,谁有资格可以说这句话呢,当然,扎克伯格最有资格,但他不会亲自来告诉你,至少从目前的情况来看,近几年都不大可能。而且,这不是一个人的公司。...
- **扩展计划**:除了租赁的Sun园区(称为“Facebook东园区”),Facebook还在附近购买了22英亩的土地作为“Facebook西园区”。 - **容纳能力**:目前可容纳3000多名员工,预计未来两个园区最多可容纳9400名员工。 ...
介绍:facebook开源了litho一个高效的声明式UI框架。运行效果:使用说明:dependencies...注:不久前翻译了一篇文章Components for Android: 一个高效的声明式UI框架 ,现在判断就是说的这个库了,那个时候还没开源。
《Facebook:2018海外营销手册》是针对企业如何有效利用Facebook平台进行海外推广的一份详尽指南。这份手册涵盖了从基础操作到高级策略的众多知识点,旨在帮助商家在全球范围内提升品牌知名度、吸引目标受众并实现...
Facebook:一个商业帝国的崛起与逆转(英文) Facebook:一个商业帝国的崛起与逆转(英文)
【标题】:“图书:Facebook应用...通过学习这本书,开发者不仅可以掌握Facebook应用开发的技术细节,还能了解到如何将社交元素巧妙地融入到应用中,提升用户体验,同时遵守Facebook的平台规则,打造受欢迎的社交应用。
有没有想过在Facebook工作是什么感觉?Facebook和Kaggle将在2015年举办一场工程竞赛。一路走到排行榜的顶端,获得一个软件工程师的面试机会,研究世界级的机器学习问题。 在这个比赛中,您将为一个在线拍卖网站寻找...
在Android开发中,集成社交平台如Facebook的功能是一个常见的需求,这包括用户通过Facebook账户进行登录以及分享内容到用户的Facebook时间线。本项目库提供了一种简单有效的方式,帮助开发者快速实现这些功能。以下...
标题《Scaling Memcache At Facebook》和描述提到的是一篇关于Facebook如何扩展Memcached系统以支持世界上最大的社交网络的文章。在深入分析Facebook的Memcached扩展策略之前,我们先来了解一下Memcached的背景知识...
Facebook登入Facebook SDK https://connect.facebook.net/en_US/sdk.js提供HTML Drag index.html to browser.谢谢你。
它不仅可以让用户通过已有的Facebook账号快速登录应用,还可以利用Facebook的社交网络特性进行内容分享和广告推广。以下是对这个主题的详细解释: 一、Facebook登录接入 1. Facebook Login SDK:Facebook提供了一个...
在实际应用中,还需要处理网络连接问题和Facebook API调用可能产生的错误,确保用户体验流畅。 总之,要在Android应用中实现Facebook登录,需要配置Facebook SDK,创建登录按钮,处理登录回调,请求用户信息,并...
在Android应用开发中,集成Facebook服务能够为用户提供方便的社交...同时,Facebook SDK还提供了分享、好友邀请等更多功能,可以根据需求进一步探索。记得随时关注Facebook开发者文档以获取最新的SDK信息和最佳实践。
Facebook档案 通过他们自己的存档,分析facebook知道的关于您的所有信息。 鉴于最近的Facebook数据泄露事件,马克·扎克伯格(Mark Zuckerberg)通过Facebook向每个用户提供了所有数据。 您将需要下载它,我们将...
Facebook API和Facebook_JAR包是开发者用来与Facebook平台进行交互的重要工具,它们使得开发者能够创建应用程序,集成到Facebook生态系统中,实现数据交换、用户登录验证、发布内容等功能。Facebook API通常指的是...