Java调用新浪微博API【转】
弄了大半天,历经了种种坎坷之后,终于成功使用新浪api java SDK成功了,说说遇到的问题吧。
1.先在新浪微博应用中注册一个自己的应用,目的是为了获取App Key和Secret
Key。简单注册完之后,到我的http://open.weibo.com下“我的应用”里面“应用信息”->"高级信息"填写一个授权回调页。
2.下载新浪api 的java SDK 地址:http://open.weibo.com/wiki/SDK,然后导入eclipse中,我在这里遇到一个问题,eclipse不能识别中文,解决办法:eclipse->首选项->常规->工作空间(这里我写的都是汉语,对应的英文自己查)->右边的文本文件编码选择其他,选UTF-8,这样eclipse就可以识别中文了。
3.配置下载下来的java
SDK,主要改一个文件,即src下面的config.properties:
client_ID :appkey 创建应用获取到的appkey (App Key)
client_SERCRET :app_secret 创建应用获取到的appsecret(Secret
Key)
redirect_URI : 回调地址 OAuth2的回调地址(就是在高级信息里面填写的授权回调页)
4.在调用/使用所有的api之前都需要进行Oath2验证。(最重要的一步)
调用example下面OAuth4Code.java,会弹出下面页面
填写一个正确的新浪微博账号后,会跳转到下面的认证界面
我们并不需要这个页面,而是需要该页面的地址,地址的最后是code=XXXXX,把XXXXX填到eclipse的控制台下:(之前我用猎豹浏览器和IE浏览器在进行图片2步骤时,都没有code,但是使用了Chrome之后就成功了。)
回车,在最下面会得到access_token和uid,记下来,这两个参数很有用,一般来说需要用这两个参数来从服务器上抓取数据:
任务结束,主要是获得了AccessToken,以后调用api时都要用到。
5. 调用API
经过Oath2验证以后就可以随意调用开放平台提供的各种API。
比如,我们调用获取粉丝,调用example.friendships.GetFlowers.java.
package weibo4j.examples.friendships;
import weibo4j.Friendships;
import weibo4j.Weibo;
import weibo4j.examples.oauth2.Log;
import weibo4j.model.User;
import weibo4j.model.UserWapper;
import weibo4j.model.WeiboException;
public class GetFollowers {
public
static void main(String[] args) {
String
access_token = "2.00RkFknBuc4hPD05d15a59e6Yi3WRB";
Weibo
weibo = new Weibo();
weibo.setToken(access_token);
Friendships
fm = new Friendships();
String
screen_name ="任意用户的名字";
try
{
UserWapper
users = fm.getFollowersByName(screen_name);
for(User
u : users.getUsers()){
Log.logInfo(u.toString());
}
System.out.println(users.getNextCursor());
System.out.println(users.getPreviousCursor());
System.out.println(users.getTotalNumber());
}
catch (WeiboException e) {
e.printStackTrace();
}
}
}
运行之前设置access token 和用户名字
posted on 2016-02-23 16:55 1130136248 阅读(330) 评论(0) 编辑 收藏 举报