編寫調(diào)用新浪微博API的Java程序來發(fā)送微博
首先,需要下載新浪微博的SDK,這里附上地址:http://vdisk.weibo.com/s/z7iFc2gCCwC1b
下載完了之后解壓,然后打開myeclipse,新建項目,再把剛才解壓出來的Import到項目中。如圖所示:
接下來,到這個網(wǎng)址http://open.weibo.com/注冊應用。有三種應用,選擇站內(nèi)應用,然后創(chuàng)建應用。把該填寫的都填寫上。確認就ok。需要注意的是有兩點:
1,是注冊完應用,會有App Key以及App Secret,這個接下來會用到。
2,到《我的應用》,選擇:應用信息,
點擊“編輯”,然后注意到有兩個地址:其中“應用實際地址”要慎重填寫,我的是http://127.0.0.1/callback.jsp,注意地址后面不要有“/”這些?,F(xiàn)在,記住這個地址,接下來要用到。
現(xiàn)在,轉(zhuǎn)向myeclipse,src下,有config.properties文件,編輯它
client_ID就是App key。
client_SERCRET就是App Secret
redirect_URI就是之前著重提到的那個地址:http://127.0.0.1/callback.jsp
保存。
接下來,我們發(fā)送一條微博:
examples下,weibo4j.examples.oauth2包下:OAuth4Code類,直接運行:會出現(xiàn)應用授權(quán)頁面,輸入用戶名和密碼之后,就會跳到之前填寫的那個redirect_URI頁面。如果瀏覽器中保存著微博的信息,則不經(jīng)過這個頁面而直接跳轉(zhuǎn)到redirect_URI頁面。
在跳轉(zhuǎn)到redirect_URI頁面后,看到URL地址欄里,格式是redirect_URI?code=xxxxxx。下面,復制code的值,然后進入到myeclipse的控制臺輸出那里,看到:
code=https://api.weibo.com/oauth2/authorize?client_id=1458508643&redirect_uri=http://127.0.0.1/callback.jsp&response_type=code Hit enter when it's done.[Enter]:
接下來,粘帖code到[Enter]:后面?;剀?。就會看到一大堆輸出信息。
直接跳到最后,看到access_token,這個就是我們需要的東西了,記錄下來。
接下來發(fā)送微博:
在weibo4j.examples.timeline包下,UpdateStatus類下/
需要傳遞兩個參數(shù)進去,我就直接寫了進去。代碼如下:
packageweibo4j.examples.timeline; importweibo4j.Timeline; importweibo4j.Weibo; importweibo4j.examples.oauth2.Log; importweibo4j.model.Status; importweibo4j.model.WeiboException; publicclassUpdateStatus { publicstaticvoidmain(String[] args) { String access_token = "2.00lBvA1CxikhaBfbc0d2a0c10FWttI"; String statuses = "此條微博來自星光發(fā)布系統(tǒng)發(fā)布"; Weibo weibo = newWeibo(); weibo.setToken(access_token); Timeline tm = newTimeline(); try{ Status status = tm.UpdateStatus(statuses); Log.logInfo(status.toString()); } catch(WeiboException e) { e.printStackTrace(); } } } package weibo4j.examples.timeline; import weibo4j.Timeline; import weibo4j.Weibo; import weibo4j.examples.oauth2.Log; import weibo4j.model.Status; import weibo4j.model.WeiboException; public class UpdateStatus { public static void main(String[] args) { String access_token = "2.00lBvA1CxikhaBfbc0d2a0c10FWttI"; String statuses = "此條微博來自星光發(fā)布系統(tǒng)發(fā)布"; Weibo weibo = new Weibo(); weibo.setToken(access_token); Timeline tm = new Timeline(); try { Status status = tm.UpdateStatus(statuses); Log.logInfo(status.toString()); } catch (WeiboException e) { e.printStackTrace(); } } }
statuses就是想要發(fā)表的東西。
到此,就可以發(fā)送微博了。
有問題留言。!
附:
有時候,比如用另外一個微博帳號(就是區(qū)別于注冊應用的這個帳號)時,會出現(xiàn)一些錯誤。錯誤信息:
{"error":"applications over the unaudited use restrictions!","error_code":21321,"request":"/2/statuses/update.json"} eibo4j.model.WeiboException: 403:The request is understood, but it has been refused. An accompanying error message will explain why. error:applications over the unaudited use restrictions! error_code:21321/2/statuses/update.json at weibo4j.http.HttpClient.httpRequest(HttpClient.java:414) at weibo4j.http.HttpClient.httpRequest(HttpClient.java:372) at weibo4j.http.HttpClient.post(HttpClient.java:301) at weibo4j.http.HttpClient.post(HttpClient.java:286) at weibo4j.Timeline.UpdateStatus(Timeline.java:708) at weibo4j.examples.timeline.UpdateStatus.main(UpdateStatus.java:18) {"error":"applications over the unaudited use restrictions!","error_code":21321,"request":"/2/statuses/update.json"} weibo4j.model.WeiboException: 403:The request is understood, but it has been refused. An accompanying error message will explain why. error:applications over the unaudited use restrictions! error_code:21321/2/statuses/update.json at weibo4j.http.HttpClient.httpRequest(HttpClient.java:414) at weibo4j.http.HttpClient.httpRequest(HttpClient.java:372) at weibo4j.http.HttpClient.post(HttpClient.java:301) at weibo4j.http.HttpClient.post(HttpClient.java:286) at weibo4j.Timeline.UpdateStatus(Timeline.java:708) at weibo4j.examples.timeline.UpdateStatus.main(UpdateStatus.java:18)
這個的解決辦法:還是在我的應用那里,點擊”應用信息“,”測試賬號“,看到有添加測試賬號,這個時候,你把想要發(fā)布微博的帳號的用戶昵稱添加進去,就OK。
相關文章
java.lang.ArrayIndexOutOfBoundsException數(shù)組越界異常問題解決
這篇文章主要給大家介紹了關于java.lang.ArrayIndexOutOfBoundsException數(shù)組越界異常問題解決的相關資料,數(shù)組越界訪問是一個非常嚴重的問題,文中通過圖文將解決的辦法介紹的非常詳細,需要的朋友可以參考下2024-01-01Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩過的坑
IDEA旗艦版可以直接創(chuàng)建Spring MVC項目,但創(chuàng)建后的項目并不是直接就可以運行,還需要進行一些配置。這篇文章主要介紹了Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩坑記 ,需要的朋友可以參考下2020-03-035分鐘讓你快速掌握java8 stream常用開發(fā)技巧
這篇文章主要給大家介紹了關于java8 stream常用開發(fā)技巧的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12System.getProperty(“l(fā)ine.separator“)含義及意義詳解
這篇文章主要介紹了System.getProperty(“l(fā)ine.separator“)含義,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-05-05