- 浏览: 634135 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (314)
- 生活 (2)
- c# (37)
- 技术 (3)
- 400电话 (0)
- 400常见问题 (0)
- 400资费 (0)
- html (7)
- css (0)
- 数据库 (7)
- javascript (16)
- php (33)
- asp.net mvc2 (10)
- mysql (9)
- C# 3.0 LinQ (10)
- vs2005或vs2008 (4)
- flash and as3 (7)
- fms (1)
- dedeCMS (11)
- java (33)
- j2me (1)
- swing (1)
- c++ (1)
- jquery easyui (3)
- jquery (5)
- android (29)
- MongoDB (9)
- VtigerCRM (1)
- test (0)
- linux (30)
- nutch (2)
- SqlServer数据库 (2)
- 数据检索 (2)
- java抓取 (11)
- 乐天 (1)
- 淘宝 (1)
- Silverlight4.0 (6)
- sphinx实时索引 (5)
- ecshop (9)
- codeigniter(CI) (3)
- axure6 (1)
- 京东店铺装修教程 (2)
- xpath (1)
- joomla (2)
- bpm (1)
- Bootstrap (2)
- knockout (4)
- ecstore (4)
- css3 (1)
- 微信 (2)
- dede (0)
- soa_edi (1)
- odoo (0)
- web (1)
最新评论
-
骑着蜗牛超F1:
在ie6下报了个stack overflow at line ...
兼容ie6和ie7 的16进制码流在html中显示为图片代码(base64) -
冰之海洋:
好像少了一句代码吧? FloatingFunc.show(th ...
android 一直在最前面的浮动窗口效果 -
yanzhoupuzhang:
连接有问题!
iis7.0官方下载 IIS 7.0(微软Web服务器组件IIS 7.0) 官方(windows 2003,XP,2000) -
whatable:
唉,楼主你都没有搞清楚重量级和轻量级。。。。既然引用了SWT, ...
java swing 内置浏览器打开网页显示flash图表-swt Browser应用 -
yy_owen:
我晕啊,你链接的什么内容额,我要的iis,你链接个视频什么意思 ...
iis7.0官方下载 IIS 7.0(微软Web服务器组件IIS 7.0) 官方(windows 2003,XP,2000)
Facebook 原文 译者: runer
目录
1. 引言
2. 创建“Hello World”程序
3. 在用户信息栏中使用FBML(FaceBook标记语言)
4. 在用户信息栏中使用mock-AJAX技术
5. 使用Mysql数据库创建计数器
6. 将这些例子代码集合到一起
7. 相关下载
引言
这个教程指导我们如何创建一个名为“tutorialapp”的应用,当你创建自己的程序的时候,它可以作为一个模板。使用这个教程需要你有一个支持php5的web服务器。
最新版本的“tutorialapp”可以在这里(http://tperry256.dreamhost.com/f8/tutorialapp/
)找到。访问这个连接的时候,系统会要求你登录到facebook,并且增加“tutorialapp”程序。在很多公司像这样访问服务一个月只需要花费几美元而已。
当你创建了自己的应用,你会使用一个不同的名称和不同的服务器。我们把那些会使你的应用与众不同的地方用这种颜色高亮显示。
创建“hello World”程序
1. 访问:http://developers.facebook.com/
2. 点击“Get Started”
3. 点击“Add Facebook Developer Application”
4. 一个到“Developer”的链接将显示在Facebook的左边导航栏,进入应用开发
5. 点击“Setup new Application”按钮
6. 下面是一些表单的填写步骤
1. Application Name:在本文中,我们填写“Tutorial Application”--对于你自己的应用,你要填写自己不同的名称。
2. 点击“Terms of service”
3. 点击“Optional Fields”链接,来进行更详细的配置
4. Support E-mail:你在Facebook的注册Email会自动填入,但可能你并不希望自己的个人Email被所有使用你应用的人知道,所以也可以填写一个你可以使用的其他Email。
5. CallBack Url:在本文中,我们填写“'http://tperry256.dreamhost.com/f8/tutorialapp/
”。你应该填入不同的URL,通常情况下,你要填写你自己服务器上运行这个应用的目录的URL。
6. Canvas Page URL:http://apps.facebook.com/
:在本文中,我们填写“tutorialapp”--你必须为自己的应用填写一个不同的名称。
7. Use FBML:保持默认设置即可。
8. Application Type:保持此处设置为:“website”
9. Can your application be added to Facebook:设置“yes”,然后进行详细设置
10. TOS URL:留空即可。
11. Post-Add Url:在本文中,我们填写“'http://apps.facebook.com/tutorialapp/
”,对于你自己的应用,一般你应该填写自己一个不同的面板页的完整路径。
12. Default FBML:输入“hello”
13. 其他的设置按照安装默认即可。
14. Side Nav Url:在本文中,我们填写“http://apps.facebook.com/tutorialapp
”,对于你自己的应用,也应该填写自己不同面板页的完整路径。
15. 其他设置使用默认即可。
点
击“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
1. 下面是“index.php”的一个扩展版本,它可以将用户在表单中填写的字符串显示在用户的信息栏中
2. 注意:提交空字符串会导致用户信息栏的无法显示!
<?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技术
1. 下面的代码使用FBML的mock-AJAX技术在用户信息栏中增加一个表单,会给用户一种信息栏被动态更新的假象。
2. 注意“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数据库创建计数器
1. 这个例子需要你在服务器上创建一个php脚本可以访问的数据库。
2. 如果你没有数据库,就新建一个。
3. 在这个数据库中新建一个名为“counter”的数据表,表中有一个名为“count”的integer类型的列。
4. 创建一个新文件名为“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>";
将这些例子代码集合到一起
1. 这里是一个最终版本的“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;
发表评论
-
phpredis 安装
2015-12-16 16:47 577phpredis是个人觉得最好的一个php-redis客户端, ... -
Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析
2015-08-26 10:04 679一、问题: 数据库表数据 ... -
Ubuntu14.04安装 php及mysql
2015-08-18 11:17 1064①安装php: sudo apt-get install ... -
PHP swfupload图片文件上传实例代码
2015-05-18 11:34 693swfupload是一个flash插件它可以结合php来快 ... -
php 如何开启com组件?
2013-05-08 13:04 2184先到PHP.INI中打开COM选项,com.allow_d ... -
教大家如何利用PHP去修改word的内容
2013-05-02 09:24 1909今天给大家带来一个教程,教大家如何利用PHP去修改wo ... -
20130324
2013-03-24 22:36 0203 -
PHP检测函数所在的文件名
2013-01-20 12:56 967很简单的功能,用到PHP中的反射机制,具体使用的是Refl ... -
php 下载文件,中文乱码问题
2012-11-24 16:07 1245通过把Content-Type设置为application/o ... -
CKEditor图片上传功能开启方法
2012-03-15 17:12 1763PHP怎么给ckeditor编辑器加上传图片的功能? A ... -
不错的威盾PHP加密专家解密算法
2012-02-21 16:29 1194<?php <?php /********* ... -
在php中使用CKEDITOR在线编辑器
2012-01-30 16:55 2956一、官方Download 1、CKEditor ... -
c#连接mysql中文乱码解决方案(MySql.Data.dll)
2012-01-11 10:22 4619今天用C#类连接mysql数据库出现中文乱码具体解决方案如下: ... -
windows nginx php配置
2011-12-27 14:40 1501传说中nginx要比apache的负载均衡好的多,堪称神器 ... -
开源VtigerCRM的安装
2011-10-14 15:14 3520SugarCRM是一个好东西,04年刚刚发布 ... -
MongoDB的group分组操作
2011-09-15 15:11 2066先插入测试数据: for(var i=1; i<20; ... -
用php实现mongoDB的基本操作
2011-09-15 15:07 1297说到php连mongoDB,不得不先介绍一下php的官方手 ... -
用 nuSOAP解决传递对象数组的问题
2011-08-25 15:48 1504准备工作 首先定义一个类UserInfo:class ... -
PHP SOAP服务器端 C#客户端
2011-08-24 17:22 1321最近写了个PHP的SOAP服务器 端,实现了PHP客户端的调 ... -
php如何将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串!
2011-08-17 16:59 1971php如何将图片gif,jpg或mysql longblob或 ...
相关推荐
手把手教你学DSP:基于TMS320F28335 手把手教你学DSP:基于TMS320F28335 手把手教你学DSP:基于TMS320F28335 手把手教你学DSP:基于TMS320F28335 手把手教你学DSP:基于TMS320F28335 手把手教你学DSP:基于TMS320F...
Android Studio是官方推荐的Android应用开发环境,它提供了强大的代码编辑、调试、性能分析以及应用打包功能。在Launcher应用的开发过程中,Android Studio不仅可以帮助开发者快速搭建项目结构,还可以利用其内置的...
《手把手教你学DSP—基于TMS320F28335的应用开发及实战配套程序》这个压缩包文件,主要围绕着数字信号处理器(DSP)的应用开发展开,特别是针对Texas Instruments(TI)的TMS320F28335型号。TMS320F28335是一款高...
《手把手教你学DSP—基于TMS320F28335的应用开发及实战》是一本深入浅出的教程,主要针对Texas Instruments(TI)的TMS320F28335数字信号处理器(DSP)进行讲解。这门课程涵盖的内容丰富,从基础到实践,为读者提供...
手把手教你学DSP28335高清pdf文件,北京航空航天大学出版社
通过《手把手教你学DSP2812》这本书,读者不仅可以掌握DSP2812的基本操作和编程,还能对数字信号处理有深入的理解,为进一步的嵌入式系统开发打下坚实基础。对于电子档的PDF版本,学习者可以随时随地查阅,非常方便...
手把手教你学28335PDF文档,看了这个确实和2812有了对比
【标题】"手把手教你学DSPPDF"是一份针对数字信号处理(DSP)初学者的教程性PDF文档,旨在引领读者逐步掌握这一领域的基础知识。该文档可能包含了从理论概念到实际应用的全面讲解,适合那些希望踏入数字信号处理世界...
《手把手教你学51单片机》是一本专为初学者设计的嵌入式开发入门教程,旨在帮助读者从零开始掌握51单片机的基础知识和应用技能。51单片机是嵌入式系统中最基础且广泛应用的一类微控制器,广泛应用于智能家居、工业...
这篇教程——《手把手教你用Android开发新浪微博客户端》将带你深入理解如何构建一个功能齐全的微博应用。从这个标题我们可以推测,本教程主要针对Android平台,旨在帮助开发者了解并实践微博客户端的开发。 【描述...
《手把手教你学DSP—基于TMS320F28335的应用开发及实战11-15章课件》是一个针对数字信号处理器(DSP)TMS320F28335深入学习的课程资料压缩包。这个压缩文件包含了11到15章的关键知识点,主要涉及了该处理器在实际...
手把手教你学DSP28335,PDF格式,有助于随时随地可以学习知识。
### 知识点三:DSP2812的编程与应用开发 - **启动模式配置**:DSP2812在上电启动时可通过不同的引导模式加载程序。 - **中断系统**:了解其中断向量表和中断处理流程。 - **数字信号处理算法实现**:如快速傅里叶...
手把手教你学dsp F2812 顾伟刚
通过学习这些章节,你将具备使用TMS320F28335 DSP进行应用开发的基本能力,包括硬件接口的配置、软件工程的实践以及实时系统的响应处理。这些知识不仅适用于TMS320F28335,还对其他类型的DSP和微控制器开发具有广泛...
《手把手教你学51单片机C语言版》是一本专为初学者设计的教程,旨在帮助读者从零开始掌握51系列单片机的编程与应用。这本书由权威的电子技术教育平台www.kingst.org提供,是学习单片机C语言编程的宝贵资源。下面将...
, 《手把手教你学DSP:基于TMS320X281x》可供高等院校电子、通信、计算机、自动控制和电力电子技术等专业的本科和研究生作为“数字信号处理原理与应用相关课程的教材或参考书,也可以作为数字信号处理器应用开发人员...
2024最新版手把手教你入门vue+springboot开发SpringBoot + vue 管理系统2024最新版手把手教你入门vue+springboot开发SpringBoot + vue 管理系统2024最新版手把手教你入门vue+springboot开发SpringBoot + vue 管理...
总的来说,《手把手教你学51单片机》是一本全方位、实践性强的教材,涵盖了51单片机的基础知识、C语言编程、硬件接口使用、中断系统以及开发工具的使用等方面。对于想要进入嵌入式领域的初学者来说,这是一条很好的...
“手把手教你DSP配套资料”这一压缩包很可能是包含了一系列关于DSP的学习材料,可能包括教程文档、示例代码、实验指导等。通过这些资料,你可以深入理解DSP的基本原理、算法和应用,逐步掌握实际操作技能,为你的...