facebook开发指南

2018-12-28  本文已影响0人  苏小小北

综述

facebook开放平台是基于Oauth2.0协议工作的,本文将介绍下如何进行Facebook平台开发,将本人的经验分享出来,避免其他同学走坑。

正文

1.注册应用

首先,得注册一个应用,地址:https://developers.facebook.com/
在“我的应用”可以注册一个新应用(无需任何权限限制,只要一个facebook账号就行了,比twitter宽松很多)

我的应用
这里:比较重要的就是

2.应用设置

特别地,介绍一下,我们开发环境,经常需要使用的测试工具和信息。

3.facebook文档和工具

+工具
https://developers.facebook.com/tools/explorer/

图谱调试工具

图谱调试工具:进行facebook所有api进行访问,支持get,post,delete方法,因为facebook是利用oauth2.0协议进行资源访问和控制的,每次获取access_token是相当麻烦的过程的,这里用图谱工具可以直接获取access token,然后用access_token进行访问api,比如上图获取用户信息。

常用api

4.SDK: https://developers.facebook.com/docs/apis-and-sdks#third-party-sdks
对于facebook推荐的java sdk有

Java sdk

下面就来着重介绍下RestFB
地址:https://restfb.com/
restfb:RestFB is a simple and flexible Facebook Graph API client written in Java.
在restfb的文档中,都详细介绍了怎么使用

restfb文档

这里我列下关键的代码:
如何服务器不能直接访问外网,第一种:可以开启程序全局代理socket5代理(方法见https://www.jianshu.com/p/0a93d7ef35ad);第二种:下面的局部代理方式(只有使用restfb才代理,推荐这种方式)。

    /**
     * 根据accessToken生成FacebookClient,将该方法封装,方便其他方法使用,避免重复代
     * @param accessToken
     * @return
     */
    private FacebookClient getFacebookClient(String accessToken) {
        FacebookClient facebookClient = new DefaultFacebookClient(accessToken,
                this.getWebRequestor(), new DefaultJsonMapper(), fbVersion);
        return facebookClient;
    }
    /**
     *  设置facebook sdk restFB的代理, 供getFacebookClient使用
     * @return
     */
    private WebRequestor getWebRequestor() {

        return new DefaultWebRequestor(){
            // 重写 openConnection 方法,注入代理配置
            @Override
            protected HttpURLConnection openConnection(URL url) throws IOException {
                InetSocketAddress proxyLocation = new InetSocketAddress(proxyHost, proxyPort);
                Proxy proxy = new Proxy(Proxy.Type.HTTP, proxyLocation);
                return (HttpURLConnection)url.openConnection(proxy);
            }
        };
    }

github:https://github.com/HinsonHsu/restfb

上一篇 下一篇

猜你喜欢

热点阅读