Java發送新浪微博的問題


一,背景

2017-06-26微博公告替換了一些接口,導致以前的:

statuses/repost 轉發一條微博

statuses/update 發布一條微博

statuses/upload 上傳圖片並發布一條微博

statuses/upload_url_text 發布一條微博同時指定上傳的圖片

statuses/destroy 刪除微博

無法使用。公司項目的微博分享也不能使用了。

全部替換成新的接口:

statuses/share 第三方分享鏈接到微博

更改接口后一直以下報錯:文本找不到域!

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

發送成功:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM