77范文网 - 专业文章范例文档资料分享平台

Facebook应用开发指南(中文)

来源:网络收集 时间:2020-06-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

Facebook应用开发小结

一、申请应用

首先需要申请一个应用,在https://developers.facebook.com/

点击“创建应用”后弹出上图。

App Name:将来从这个应用出来的所有信息,都会呈现一个“来自于{App Nmae}” 如图:

App Namespace:以后可以通过这个名字访问你的应用 http://apps.facebook.com/{App Namespace} Web Hosting:一个选择让facebook的一个合作伙伴Heroku(其实我也不知道这个Heroku和facebook什么关系)给你一个空间,可以将应用放到上面,类似新浪的SAE。我没有用他的,因为这个地方的代码还是要翻墙才可以使用,所以??

“继续”然后输入验证码申请成功。如果你想用一个小号来创建应用有可能跳回填App Name的层,并提示不是一个真实的用户之类的。申请应用的用户需

1

要这样的条件:创建应用的该用户需要有5个完整好友用户或者10个活跃月的好友用户。

会有一个App ID和App Secret,会成为你以后的调用API的参数。

Facebook应用分几类如下如,所以创建应用后需要确定你的应用的类型。我的应用是第一类。其中的Site URL是授权成功后的跳转的页面。有些地址不可用,需要尝试。

2

左侧导航有个App Details中需要填写完成,提交,然后才能使用。 其中所有的图标都必须按照他的要求尺寸来。

有一个关键的项,Privacy Policy URL,这个需要提供一个网页,这个网页最好是有备案的。或者上网搜一个有说明自己的应用的干什么的,需要用到授权用户的什么信息的html网页。

然后提交,出现下面的页面就是成功了。

二、API调用

1.API分类

facebook的API分为三类:Graph API,FQL,Legacy REST Graph API:有SDK可以用,还提供了一个可视化的测试工具 (https://developers.facebook.com/tools/explorer),我用的就是这个。 FQL:想SQL语句一样调用的接口,也有一个可视化工具 (https://developers.facebook.com/tools/explorer)。 Legacy REST:传统的API,具体的调用真没了解。

2. 部分Graph API使用说明

①授权

最关键的部分,facebook采用OAuth V2.0授权。。 浏览器vpn连结的情况下键入网址

3

https://www.facebook.com/dialog/oauth?response_type=token&display=popup&client_id={App ID}&redirect_uri={Site URL(必须和填写的应用信息中的Site URL相一致)}&scope={需要的权限,多个以英文逗号隔开}

其中的所有参数值需要urlencode处理下。 例:

https://www.facebook.com/dialog/oauth?response_type=token

&display=popup&client_id=479032302163288&redirect_uri=http://www.masalili.com.tw&scope=email

https://www.facebook.com/dialog/oauth?response_type=token&display=popup&client_id=523509020905851&redirect_uri=https://developers.facebook.com/tools/explorer/callback&scope=email,publish_actions

申请的是email和public_actions权限。

然后需要你用facebook账号登陆,然后允许这个应用获取你的这两个权限中的信息。

然后跳转到你的你的Site URL,这时他的跳转地址中带有了access_token参数。如:

http://abc.sina.com/a.html#access_token={token}&expires_in={有效时间}

由于它是用#分割的,所以我跳到一个html文件,然后用js处理获取这个参数:

Window.location.hash就可以拿到#后面的字符串,然后你处理出access_token参数,在作为新的url参数跳到一个php文件:

window.location.href=\

这样在这个php文件就可以使用$_REQUEST['token']获取access_token做后续操作了。

其中的expires_in是个有效时间,单位秒。一般是一个多小时。和明显不够用。至于每个access_token可以用多久可以到这里看到

https://developers.facebook.com/tools/debug,输入你获得token就可以看到了。

接着使用这个时间很短的token获取一个长效token,一般是60天。

$facebook=new Facebook(array('appId' =>{App ID},'secret' => {App Secret})); $facebook->setAccessToken({short_live_access_token});

$long_live_access_token=$facebook->setExtendedAccessToken(); 这样这个token就可以用60天了。

至于在官方文档中提到的授权时授offline_access权限就可以长久有效的token,我没有试出来,有这个权限与没有这个权限不影响我得到的token的时间。 ②发布涂鸦墙信息

$facebook=new Facebook(array('appId' =>{App ID},'secret' => {App Secret})); $facebook->setAccessToken($access_token); $attachment = array( 'message' => $message);

4

$result=$facebook->api('/'.{ID}.'/feed/',\这个ID可以使以个人的facebook ID,也可以是你有管理员权限的专页的ID,不过想在你有管理权限的专页上发东西需要授权的manage_pages权限。

③发布照片到涂鸦墙相册

$facebook=new Facebook(array('appId' =>{App ID},'secret' => {App Secret})); $attachment=array('access_token'=>$access_token); /*one*/

$account_array=$facebook->api(\/*two*/

foreach($account_array['data'] as $value) {

if($value['id']=={专页ID}) { $fb_qyer_admin=$value['access_token'];

} }

$attachment = array ( 'access_token' =>$fb_qyer_admin, 'message' => {message}, 'url' =>{images的完整url(不可以是本地的盘符地址)} ); /*three*/

//$facebook->setFileUploadSupport(true); $url='/'.{相册ID}.'/photos/'; /*fore*/

$result=$facebook->api($url,\

解释:

①facebook是一个空间类型的SNS,他有feed流中有图片的,但是那并不是像微博那样的带图微博,而是你上传了一张图片到自己的相册或者专页的相册,在feed中被当做一个更新status出现。所以带图的文字其实是配了说明的图片,只是feed中显示的方式不相同罢了。如果上传到普通相册就是就是说“XX上传了照片到YY相册”;如果上传到“涂鸦墙相册”就会是文字下面更图片,就像带图的微博一样。

②one:如果向专页分享需要先获取该用户相对应的专页的token。

/me/accounts接口会显示该用户所管理的所有专页和应用的详细内容包括id,name,access_token等,使用这个token对专页的相册进行操作。

③two:由于他返回的所有专页的信息顺序可能不一定,及这次A专页是第一个,B是第二个,但有可能下次在调用的时候就换了位置,所以我第一次直接写死要第几个的access_token结果有时候就是错的。所以这里去遍历判断,找出想要的那个专页的token。

④three:这行被我注释掉了,我也没明白这个的作用,加上与否没有影响,

5

跟踪了API发现最终通过curl发出的请求没有什么不同。看看大家又没什么发现。

⑤fore:在这了我写成上面那样,var_dump($result);就什么都不输出,甚至连个null都没有。但是写成:

var_dump($facebook->api($url,\或者

return $facebook->api($url,\

就可以拿到值。找到原因,应该是php的不了解,还望大虾指点。

成功的返回一个数组:

{\这条记录的ID(可以通过www.facebook.com/ID访问该条记录)},\形式是“数字_数字”的形式(也可以像上面的方式访问)}} ④获取likes和commentary

$result=$facebook->api(\记录ID}.\所有的查询类接口都有limit参数,显示返回条数。

$result['likes']['data']和$result['comments']['data']即为赞的信息和评论的信息。

6

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库Facebook应用开发指南(中文)在线全文阅读。

Facebook应用开发指南(中文).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1116088.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: