一,背景 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,出現下圖微博發送成功!
發送成功: