一,背景 java
2017-06-26微博公告替换了一些接口,致使之前的: json
statuses/repost 转发一条微博 浏览器
statuses/update 发布一条微博 并发
statuses/upload 上传图片并发布一条微博 app
statuses/upload_url_text 发布一条微博同时指定上传的图片 dom
statuses/destroy 删除微博 post
没法使用。公司项目的微博分享也不能使用了。 测试
所有替换成新的接口: url
statuses/share 第三方分享连接到微博 spa
更改接口后一直如下报错:文本找不到域!
error:text not find domain! error_code:10017/2/statuses/share.json
弄了好几天才发现问题出在受权key的地方。
二,解决问题
下载了最新的新浪微博Java的SDK
下载后,编辑Config.properties配置文件:
client_ID :填写应用的appkey
client_SERCRET :填写应用的app secret
redirect_URI : 填写应用的回调地址 ,我这里使用的http://www.baidu.com
这三个参数都必须和应用上的一致,不然会出问题。
右键Run As ----> Java Application运行examples包下的weibo4j.examples.oauth2里的Oauth4Code.java,
会自动打开默认浏览器,进入应用受权界面。
受权成功后,将会跳转到回调地址http://www.baidu.com
地址栏中显示的是http://www.baidu.com/?code=的值复制出来。 填入控制台,回车就能得到2.0的受权码了。
accessToken就是咱们想要的2.0的受权码。
测试代码:
注意:text中的文本中的域必需要加"http://"前缀,不然报错:error:text not find domain! error_code:10017/2/statuses/share.json
右键Run As ----> Java Application运行SinaTest,出现下图微博发送成功!
发送成功: