当你想用Java写一Facebook的应用?你把在facebook的帐号中加入的程序开发模块,下载了相关的java类库。忽然你发现不得不停下来:开发相关的入门介绍,样例代码和文档说明在哪儿?这样的挫败感令人愤怒,而最终导致你不得不放弃。
但愿有人会尽快写一个不错的应用Java 开发facebook应用的入门指南。也许只需要你给我些好吃的巧克力,我们可以写些相关的介绍文档,老实说我们的确也解决了不少相关的问题。这里有一些技巧帮助你使用java开始建立自己的 facebook应用。 这并不是一个完整的入门指南,但他可以帮你在着手做时少走些弯路。
八个注意事项辅助你构建Java/facebook应用
1.为了你的幸福和健康,建议你使用5.0或更高的JDK开发包。
2.不用看facebook java开发包中的列子,因为那些例子是针对java桌面应用程序的。而通常你是需要写一个web应用,这两种应用的区别还是很大的。 一开始,你需要一个web应用服务容器,你可以能会选择tomcat,但我不会,这里面有另一个故事,我会找个合适的时间再告诉你。Facebook的网络应用有一个不常见的调用模式。大多数你的页面会被facebook调用。用户请求一个facebook的页面,页面中的主要内容会从你的服务器中返回给用户。你体统的内容会融合到facebook的页面里返回给用户。大多数情况下这些流程不需要你的干预就能很好的执行。但需要注意的是你服务器端产生的页面中的javascript是不能执行的,这就意味着普通的ajax不再在facebook中应用。如果你需要使用AJAX的技术实现facebook 提供的 mock-ajax不能完成的功能,则需要通过facebook的页面跳到你服务配器上的一般页面。
3.配置你在facebook上的应用程序
不要忘了填写facebook应用的配置文件,你应该设置: 应用程序的回调网址。
应用程序的名字- 这个名字用来表示标识在facebook的页面。(这些页面可以是用iframe嵌入到facebook的导航页,也可以是用FBML标记的页面)。一但设定,比如http://apps.facebook.com/yourappname/yourpagename 这个页面就会从facebok产生一个请求到你的服务器 .对于新用户来说,这就是一个你的应用程序的欢迎页面,邀请用户来使用传播你的这个应用。
4.用facebookrestclient
最重要的阶级,在客户端类库中最重要的类是facebookrestclient.这个类中包含一系列调用facebook服务端的方法,并涵盖了大部分你需要的功能。可惜facebookrestclient是不是个架构清晰的类。几乎所有的请求,需要一个facebookrestclient 这是建造一个会话密钥 .用户登陆后可以从CGI变量中获得会话的密钥。(参考 FacebookParam.SESSION_KEY.toString())没有登陆的用户需要引导到一个登陆页面。 试试以下方法:
// 创建一个无会话状态的FacebookRestClient
FacebookRestClient client = new FacebookRestClient ( 你的api密钥 , 你的加密密钥 ) ;
String token = client.authcreateToken () ;
String loginURL = “http : //www.facebook.com/login.php?v=1.0&apikey=&”+ YOUR APIKEY +“&auth_token =”+ token ;
// 这里转向到登陆页面
// 登陆后就会返回会话key
FacebookRestClient.auth_getSession() 以我的经验基本没用。他的作用是把一个无会话的client变成一个有会话的。我发现从CGI变量中获取会话要比试用这个方法简单。
当有一个会话key的FacebookRestClient,你可以调用这个类提供的各种facebook编辑方法。这些方法可以很方便与facebook进行交换操作。但不幸的事这些方法返回的是未经处理的XML文档,这些文档后续的处理会比较麻烦。
比如 friends_get()返回的是
<document>
<friendsgetresponse>
<uid>1</uid>
<uid>2</uid>
<uid>3</uid>
</friendsgetresponse>
</document>
你也许想封装一些提取信息的方法,例如调用friends_get(),试试这个
Document d = client . friends_get () ;
NodeList userIDNodes = d . getElementsByTagName ( " uid " ) ;
int fcount = ids . getLength () ;
List < Integer > friends = new ArrayList < Integer > () ;
for ( int i = 0 ; i < fcount ; i ++ )
{ Node node = userIDNodes . item ( i ) ;
String idText = node . getTextContent () ;
Integer id = Integer . valueOf ( idText ) ;
friends . add ( id ) ; }
这样friends的列表里就填充好了用户的id.
5.servlet返回局部页面
当你生产在facebook中的页面时,比如这样的一个地址http://apps.facebook.com/yourappname/yourpagename,你必须返回的一个HTML或FBML标记的页面片段,而不是一个完全的HTML页面。
6.学习FBML .
FBML这是一套特有的facebook标签。试用标签可以让你很方便的完成很多功能(比如显示用户的名称和图片)。
7.用户邀请好友
你想完成病毒式推广的邀请好友?facebook最近修改了他的api(2007.11)。新版本主要改进了一个特殊的form,fb:form.
原来完成这功能的方法FacebookRestClient.notifications_sendRequest()已经不再使用了,如果你不慎调用将会得到一个异常。
8.用户档案信息显示页面
要想将一些信息放入用户的档案信息页面,使用FacebookRestClient.profile_setFBML()。这个方法复写了你在应用里设定的默认信息页面。当你设定了用户的个人档案的FBML页面,这些页面被流量时,facebook会缓存这些页面信息而不会即时更新。这样就使得用户信息的动态更新会麻烦一些。当一个事件触发用户信息改变时,你需要重新调用profile_setFBML()更新这些信息。幸运的时既然你已经有一个登陆的客户端可以做任何事情,所以这个客户端也可以任意设置你的用户资料的数据项。
分享到:
相关推荐
Java 分布式应用程序设计是构建大型、可扩展和高可用性系统的关键技术。在现代企业级应用中,尤其是在云计算和微服务架构盛行的今天,掌握Java分布式应用的设计原则和技术至关重要。下面将详细介绍Java分布式应用...
Facebook插件开发是指在Facebook平台上开发应用程序,以满足用户的需求和提供更多的功能。Facebook插件开发可以使用多种编程语言,包括PHP、Python、Ruby、Java等。 二、Facebook插件开发的优势 Facebook插件开发...
在Java开发中,与Facebook API进行交互时,通常需要一个方便、高效的库来处理API调用。RestFB(Restful Facebook)就是这样一款开源库,它为Java开发者提供了简洁的API,用于与Facebook Graph API和Marketing API...
在这个"Facebook API 的 Java 封装请求处理组件 RestFB.7z"压缩包中,包含了 RestFB 库的源代码和其他相关资源,使开发者能够高效地构建与 Facebook 平台集成的应用程序。 首先,让我们深入了解 RestFB 的核心功能...
### Facebook开发帮助详解 在数字化转型的浪潮下,Facebook(现更名为Meta)作为一个全球领先的社交平台,为企业和个人提供了丰富的开发工具和...希望这篇文章对你有所帮助,祝你在Facebook应用开发之旅上取得成功!
【标题】"基于Java的Facebook个人资料导出工具 fbpwn.zip" 提供了一种使用Java编程语言开发的工具,其主要目的是帮助用户导出他们在Facebook上的个人资料信息。这个工具,命名为fbpwn,旨在方便用户获取和备份在...
这个组件简化了在 Java 应用程序中访问和操作 Facebook 数据的过程,包括用户信息、页面、事件、照片、视频等。让我们深入探讨 RestFB 的核心特性、使用方法以及如何集成到你的项目中。 1. **RestFB 的核心特性** ...
总之,Facebook Java API 2.1.1是一个强大且灵活的工具,为Java开发者提供了与Facebook无缝集成的能力,极大地扩展了应用程序的功能。通过深入学习和使用这个API,开发者可以构建出更加互动和个性化的社交应用。
在开发Facebook个人资料导出工具时,Java提供了丰富的类库和API,使得开发者可以方便地处理网络请求、数据解析和文件操作等任务。例如,使用HttpURLConnection或HttpClient类进行HTTP请求,获取Facebook API的数据;...
本教程将详细介绍如何集成Facebook作为第三方登录服务到你的应用程序中,我们将使用Spring Social框架进行演示。 首先,我们需要了解Spring Social的核心概念。Spring Social是一个Java库,它为与社交媒体服务进行...
REST(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,基于HTTP协议,允许客户端通过HTTP方法(GET, POST, PUT, DELETE等)来获取、创建、更新或删除资源。Facebook REST API提供了大量...
Java前端开发是构建Web应用程序的重要组成部分,它主要关注用户与应用程序之间的交互和界面设计。在“java前台开发笔试”这个主题中,我们可以深入探讨几个关键的知识点,这些知识点通常是Java前端开发者需要掌握的...
在本项目中,我们主要探讨的是如何利用Struts2和Hibernate这两个开源框架来构建一个类似于Facebook的小型应用程序。Struts2作为MVC(Model-View-Controller)架构的一部分,负责处理用户请求并控制应用程序的流程,...
【标题】"Java_轻版的Facebook无论在重量上还是在使用上都很轻.zip" 提供了一个关于轻量级Java应用程序的信息,暗示我们讨论的是一个专门为Facebook开发的简化版本,可能是一个第三方应用或者一个定制的Java客户端。...
1. **Java编程**:Java是一种强类型、面向对象的语言,适用于网络应用开发,包括数据抓取和API接口交互。其跨平台性(通过Java虚拟机JVM)使得代码可以在多种操作系统上运行。 2. **Facebook API**:fbpwn工具可能...
Java是世界上最流行的编程语言之一,尤其在开发企业级应用程序和服务方面有着广泛的应用。"Java_现代应用程序和服务的开源身份和访问管理"主题涉及到的核心技术是开源的身份和访问管理(IAM)解决方案,它对于保障...
标题中的“基于Taro-react开发的GPT对话程序”指的是使用Taro框架和React库构建的一个与OpenAI的GPT模型交互的应用程序。Taro是一个多端开发框架,它允许开发者编写一次代码,就能在微信小程序、H5、App等多个平台上...
Mono是一种开源的.NET框架实现,它使得C#开发者能够在多种操作系统上构建应用程序,包括Android。以下我们将详细介绍这一技术栈的关键知识点。 1. **C#语言基础**: C#是Microsoft开发的一种面向对象的编程语言,...
通过学习和使用RestFB,Java开发者能够更高效、更稳定地与Facebook API进行交互,构建各种与社交网络相关的应用程序。同时,这个过程也能提升对HTTP请求处理、OAuth认证、JSON解析等方面的技能,对提升整体的编程...
"软件/插件"可能意味着fbpwn既可以作为一个独立的应用程序运行,也可能设计为能够集成到其他软件或浏览器扩展中,以提供更便捷的Facebook资料导出服务。"facebook"标签则明确了该工具的应用领域,即与Facebook平台...