今天花费了一下午的时间去
研究如何在墙内调用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文件中么?