先申请自己用的微博成为开发者 , 获取到微博给的APP key和APP Secret这两个参数
利用下面的代码可以获取到code, 就可以用APP key 和 APP Secret 三个参数获取到access_token
public static void main(String[] args) throws Exception {
//获取微博中的code
Oauth oauth = new Oauth();
// 弹出默认浏览器,登陆个人微博帐户后会出现一个code
BareBonesBrowserLaunch.openURL(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();
try{
// 获取到AccessToken
String accessToken = oauth.getAccessTokenByCode(code).getAccessToken();
System.out.println(accessToken);
} catch (WeiboException e) {
log.error("accessToken:"+e);
}
}
我之前用的官方给的java SDK 由于官方没有对SDK进行维护 里面到处都是坑 自己请教大佬 终于写把微博自动发布写出来了 属实太不容易了
//微博中的access_token
String accessToken = "";
//微博分享的路径
String Wburl = "https://api.weibo.com/2/statuses/share.json"
//绑定安全域名
String SecureUrl = "";
//微博发布的内容
String contents = "";
//微博发布的内容和安全域名转换为URLEncoder(必须要转换URLEncode)
String content = URLEncoder.encode(contents+SecureUrl, "UTF-8");
//将参数转为JSON才能转发到微博
JSONObject object = new JSONObject();
//获取rip的地址
object.put("rip","");
//微博的token
object.put("access_token",accessToken);
//文件上传
object.put("pic",new File(""));
//上传文件的内容
object.put("status",content);
//
return HttpRequest.post("Wburl")
//header 设置请求头信息
.header("Content-Type", "application/json")
.header("Accept", "*/*")
.header("Accept-Encoding", "gzip, deflate, br")
.header("Connection", "keep-alive")
.form(object).execute().body();
第一次写博客 写的不是很好 大家可以凑乎的看 这个代码是本人亲自测试的 可以成功
希望我的这篇博客可以帮助到大家 也欢迎大家前来指教 谢谢大家的观看