首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 實戰:基於 OAuth 協議整合新浪微博發送功能完整教程

     編輯:Java 相關知識

新浪微博開放平台雖提供 Java SDK (weibo4j) 及 Demo,但文檔與代碼常不一致,且 OAuth 流程涉及多角色交互,初學者極易迷失。本文梳理核心流程,提供可運行的完整整合方案。

OAuth 核心角色與流程

  • User:微博用戶(資源擁有者)
  • Service Provider:新浪微博開放平台
  • Consumer:第三方應用

核心憑證:App Key (Consumer Key)、App Secret (Consumer Secret)、Request Token、Access Token。流程包含:獲取 Request Token → 用戶授權 → 獲取 Access Token → 調用 API。

關鍵 URL 配置 (新浪平台)

  1. 請求 Token URL:https://api.weibo.com/oauth/request_token
  2. 用戶授權 URL:https://api.weibo.com/oauth/authorize
  3. 獲取 Access Token URL:https://api.weibo.com/oauth/access_token

核心工具類 WebOAuth.java

public class WebOAuth {
    private Weibo weibo;

    public WebOAuth() {
        System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY);
        System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET);
        weibo = new Weibo();
    }

    // 獲取 Request Token
    public RequestToken getRequestToken(String callbackUrl) { ... }

    // 獲取 Access Token
    public AccessToken getAccessToken(RequestToken requestToken, String verifier) { ... }

    // 發布微博
    public void update(AccessToken access, String content) { ... }
}

前端頁面流程

  1. request.jsp:生成授權鏈接,保存 Request Token 至 Session,重定向至微博授權頁。
  2. callback.jsp:接收 oauth_verifier,換取 Access Token 存入 Session,跳轉發布頁。
  3. writeWeibo.html:輸入內容提交至 updateWeibo.jsp。
  4. updateWeibo.jsp:調用 WebOAuth.update() 發布。

部署注意事項

  • Tomcat 需配置 commons-httpclient-3.1.jar 及打包後的 weibo4j.jar。
  • callback.jsp 域名需與微博應用設置的回調域一致(本地測試可用 localhost)。
  • 連續發布相同內容會觸發 400 錯誤(微博防刷機制)。

掌握 OAuth 舞步,鑰匙在於理清 Token 流轉與 URL 重定向。此 Demo 可作為微博登入、分享功能的基礎模板擴展。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved