以下流程的前提是你的手机和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/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。记下这些东西,后面的开发用到。