项目中有用新浪微博登陆的需求,网上找了许久,没有合适的答案。经过半天的努力,终于搞定了。为方便同行,特将详细步骤写出来,文笔粗糙,见笑。
首先,要注册新浪微博的账号,注册成功之后,在http://open.weibo.com/development/mobile 打开这个链接 ,
创建应用,应用创建成功之后,在我的应用中编辑应用的信息
在生成的appkey 和 app_secret 这两组数据 接下来会用到。
然后在应用信息里面,把基本信息和高级信息 都要填写下。高级信息的 授权回调页 也要填写 填百度也可以。
在接下来 需要给应用添加测试账号,
在应用信息中找到测试账号 然后 点击编辑 ,添加测试账号,输入的是账号的昵称,可以填写自己刚注册的账号昵称。绑定测试账号之后,接下来就要下载java sdk
地址是 http://open.weibo.com/wiki/SDK 选择 java sdk 下载之后 导入eclipse 然后 找到config.properties 填写之前获取的appkey 和app_secret
如下:
client_ID =你的appkey
client_SERCRET =你的app_secret
redirect_URI =http://www.baidu.com
baseURL = https://api.weibo.com/2/
accessTokenURL = https://api.weibo.com/2/oauth2/access_token
authorizeURL = https://api.weibo.com/2/oauth2/authorize
然后找到 OAuth4Code这个类,运行后会弹出授权页面 (在你新浪微博登录的状态下) 确认授权。 回调用写好的 授权回调页(redirect_URI),获取code的值,在eclipse中输入取到的code的值 回车之后 在控制台输出 access token 和对应的uid 取到token 之后 ,在 ShowUser这个类中 代码如下:
public class ShowUser {
public static void main(String[] args) {
String access_token = "你取到的token";
Weibo weibo = new Weibo();
weibo.setToken(access_token);
String uid = "取到的uid";
Users um = new Users();
try {
User user = um.showUserById(uid);
Log.logInfo(user.toString());
} catch (WeiboException e) {
e.printStackTrace();
}
}
}
运行之后 就可以输出用户的信息了。