Android集成Twitter和facebook登录分享

以下流程的前提是你的手机和PC必须能够访问facebook,也就是翻墙。至于怎么翻,不要问我。淘宝,哪儿的,18块钱一个月的vpn,反正我是够用了。


FaceBook开发流程详解:

1:注册一个facebook账号。www.facebook.com

2:登录开发者平台,申请成为开发者。https://developers.facebook.com/

3:创建一个用于开发facebook的应用myapp。

https://developers.facebook.com/apps/


因为是做安卓开发,所以我在创建的时候选择了安卓应用,显示名称就填写myapp,命名空间不用填,是否是测试,可以不用开启,应用分类可以随便选择一个。


创建完成,点击设置




这里只需要填写包名,主activity也就是启动的activity,在manifest文件中有。然后保存


保存会弹出是否选择用此包名,选择用此包名。


keyHash值可以这样算得(必须安装openssl,安装地址http://skylineservers.dl.sourceforge.net/project/gnuwin32/openssl/0.9.8h-1/openssl-0.9.8h-1-setup.exe),

cmd打开命令窗口,输入下面值(要配置openssl环境变量)。

keytool -exportcert -alias androiddebugkey -keystore (这里写上你的keystore地址,如C:\Users\jcke\.android\debug.keystore) | openssl sha1 -binary | openssl base64

回车后,要求输入密码:debug.keystore的默认密码是android

然后就可以取到一个密码串,后面跟一个“=”号。把它贴到hash key的输入框里。点击保存,这样应用就创建好了。记录下我们的app_id也就是315697608554507



下载facebook开发例子:

https://github.com/facebook/facebook-android-sdk

如果用android studio可以直接复制它的git地址,这样最方便 ,用eclipse的话,也可以把整个zip down下来。再把项目引入到工程中。引入完成,并将sample目录下的HelloFacebookSample创建为一个安卓工程,将facebook设置为一个android lib工程,设置HelloFaceBookSample依赖facebook.工程部署完毕如下图:


打开HelloFacebookSample下的res\values\string.xml找到app_id的定义值修改为我们的app_id也就是315697608554507


到这里就把整个工程部署完毕了。下面运行例子。



下面再说一下开发:

Facebook在登录成功后,会回调告诉你登录已经完成。

Profile profile = Profile.getCurrentProfile();这里面会存储一些基本的信息,这些信息是公开的。如用户名什么的。

你也可以调用它的api.   https://developers.facebook.com/docs/graph-api?locale=zh_CN

如获取用户基本资料:

     new GraphRequest(
       AccessToken.getCurrentAccessToken(),
       "/me",
       null,
       HttpMethod.GET,
       new GraphRequest.Callback() {
           public void onCompleted(GraphResponse response) {
               /* handle the result */
            System.out.println("收到的数据是--"+response.getRawResponse());
           }
       }
    ).executeAsync();

但这里不一定返回所有的信息,你得声明有时候。

而如果你想做更多的开发,比如发送facebook消息,或者是获取邮箱等信息,就要申明你的权限,比如要获取email邮件地址。

LoginManager.getInstance().logInWithReadPermissions(this,
                    Arrays.asList("email"));


这样会打开一个web页面提示用户现在你的应用想要得到邮箱信息,人是否同意,同意那说明你就有获取邮箱这个权限了。再调用

     parameters = new Bundle();
        parameters.putString("fields", "email");
    new GraphRequest(
    myToken,
       "/"+myToken.getUserId()+"/permissions",
       parameters,
       HttpMethod.GET,
       new GraphRequest.Callback() {
           public void onCompleted(GraphResponse response) {
               /* handle the result */
            System.out.println("----"+response.getRawResponse());
           }
       }
    ).executeAsync();

只要这个用户有邮件,这时候就会回邮箱的信息回来。

它的权限参考地址:https://developers.facebook.com/docs/facebook-login/permissions/v2.5

相关链接:

https://developers.facebook.com/docs/facebook-login/android

https://developers.facebook.com/quickstarts


-------------------------------------------------------------------2015.10.20

这两天项目比较忙,先写facebook,后面再把Twitter补上。


Twitter:


https://docs.fabric.io/android/twitter/configure-twitter-app.html#callback-url
https://docs.fabric.io/android/index.html
https://apps.twitter.com
https://fabric.io
https://twittercommunity.com/t/desktop-applications-only-support-the-oauth-callback-value-oob-oauth-request-token/252#comment-489

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

本来打算是按照官网的开发方案来写这个案例的,但考虑到很多人不用AndroidStudio,官方使用的是Fabric插件来弄的。所以下面先以Twitter4j来写这个案例。

网址:http://twitter4j.org/

首先还是得去Twitter官网申请一个应用账号。

https://apps.twitter.com/app/new

填写如下:



填写完后,点击创建。

创建完成后会回到应用页面,点击permission选项,设置为读写。


再回到keys access tokens页面,这样就拿到了我们需要的东西了。

key 和密钥,然后再点击auth token,生成一个token。记下这些东西,后面的开发用到。





  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值