Java發送新浪微博的問題

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

發送成功:

相關文章
相關標籤/搜索