(Java)墙内利用goagent调用facebook API 进行Java应用开发_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > (Java)墙内利用goagent调用facebook API 进行Java应用开发

(Java)墙内利用goagent调用facebook API 进行Java应用开发

 2013/8/12 22:06:50  feikiss  程序员俱乐部  我要评论(2)
  • 摘要:今天花费了一下午的时间去研究如何在墙内调用facebook的API,开发facebook应用的应该都已经清楚如果调用FB的API需要先获取accesstoken,这个可以根据帮助文档很容易的获得,接下来的问题就是如何在墙内调用它提供的API呢?这可真是大费周章,而且最后栽到了版本上。。。步骤:1.下载goagent,可以参考我之前的一片文章进行下载和配置。(这里)2.当用goangent访问facebooktwitter等网站时说证书不受信任,导致网站显示不正常,这个问题可以参考(这里)
  • 标签:API Facebook Java 应用 利用 开发 应用开发
今天花费了一下午的时间去研究如何在墙内调用facebook 的API,开发facebook应用的应该都已经清楚如果调用FB的API需要先获取access token, 这个可以根据帮助文档很容易的获得,接下来的问题就是如何在墙内调用它提供的API呢?这可真是大费周章,而且最后栽到了版本上。。。
步骤:1. 下载goagent,可以参考我之前的一片文章进行下载和配置。(这里)

2. 当用goangent 访问facebook twitter 等网站时说证书不受信任,导致网站显示不正常,这个问题可以参考(这里),添加受信任的证书,图文并茂的教程。

3. 现在一切配置ok,也可以正常的访问facebook了,(话说搭梯子真不容易,不过搭一次梯子以后就不用搭了。)

4. 重点来了,我需要通过Java 代码来调用他的API,经过爬梯后搜索,找到了RestFB,可以从这里下载,API都已封装并且有详细的教程。

5. 直接跑Sample,不出意外的失败了,因为我们还没有配置Java代理,这个easy,开启goagent,添加下面的配置:
class="java" name="code">
System.setProperty("http.proxySet", "true");
    System.setProperty("http.proxyHost", "127.0.0.1");
    System.setProperty("http.proxyPort", "8087");

当然,还需要一些其他的修改,因为RestFB没有提供接口可以设置代理的,毕竟老外不需要爬墙。。我修改后的简易sample可查看附件,主要是HelloFB.java。

6.代理修改好了以后结果发现还是不行,报了一个证书的异常(爬梯不容易,各种问题卡)。这个问题和浏览器中的证书问题类似(步骤2),将证书加入到Java受信任的列表中即可解决问题,具体步骤可参考这里。不过说到这里我要给提一个醒,我用JDK1.7的时候怎么试都不行,证书加进去了,但是依然报证书的异常问题,导致我还给goagent的开发者们提了一个issue。后来灵机一动,用JDK1.6试了一下,加完证书,运行,居然直接成功了。。这个版本问题花费了我足足3个小时的时间,有木有!

以上步骤均为亲测可以实现,现将这些统一整理在一起,不敢独享,希望能帮到遇到同样问题的同胞。
  • facebook.7z (285.5 KB)
  • 下载次数: 0
    网友 2013/10/29 21:25:26 发表

    附件怎么下载呢?修改的配置是改在logging.properties文件中么?

    网友 2013/10/29 20:55:33 发表

    附件怎么下载呢?修改的配置是改在logging.properties文件中么?

发表评论
用户名: 匿名