这几天 新浪微博账号被盗,导致多出了700个关注,手动删除是在蛋疼,决定写个程序 批量删除。
首先申请开发者,这些不再赘述,总之最都得到一个App key 和App Secret, 在工程下的 config.properties中填入。
进入open.weibo.com 进入你的应用, 【应用信息】-【高级信息】-【授权地址】 ,填写授权地址 (随便能访问的网址)
在工程下config.properties中将你刚刚填写的授权地址加入redirect_url;
在高级信息的低端加入测试用户uid(就是新浪微博地址后面的那串数字);
新浪微博中有很多API是需要登陆验证的,新浪使用了 Oauth2.0,大概流程是 你首先提交你的应用信息,这时会弹出授权页面,在授权后,会跳转到你所填写的授权地址。
在URL中有一串code(浏览器地址栏中),将code输入控制台,此时便得到了授权,得到一个access_token对象。在Oauth2.0方式下,access_token对象是 基本每个API都必须的参数。
如何调用API 下面用获取用户关注信息为例;
- //获取授权
- Oauth oauth = new Oauth();
- BareBonesBrowserLaunch.openURL(oauth.authorize("code"));
- System.out.println(oauth.authorize("code"));
- System.out.print("Hit enter when it's done.[Enter]:");
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- //等待控制台输入code
- String code = br.readLine();
- AccessToken accessToken = oauth.getAccessTokenByCode(code);
- //设置token,一次就行
- Weibo weibo = new Weibo();
- weibo.setToken(accessToken.toString());
- <span style="white-space:pre"> </span>UserWapper __userWapper = getFriends( accessToken,accessToken.getUid(),current);
- <span style="white-space:pre"> </span>
- <span style="white-space:pre">
- </span>
- public static UserWapper getFriends(AccessToken accessToken,
- String uid,
- int cursor
- ) throws WeiboException{
- UserWapper userWapper =
- User.constructWapperUsers(
- Weibo.client.get(
- WeiboConfig.getValue("baseURL")
- + "friendships/friends.json",
- new PostParameter[] {
- new PostParameter("access_token", accessToken.getAccessToken().toString()),
- new PostParameter("uid", uid) ,
- new PostParameter("count", 200),
- new PostParameter("cursor", cursor)
- }
- )
- );
- return userWapper;
- }
下面是我的所有代码 功能是 取消一个用户的关注 能够取消最近关注的N个用户
点击打开链接