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

新浪微博 API OAuth 認證發布微博實戰教學

     編輯:PHP 相關知識

前言

延續上一篇《新浪微博 OAuth 認證與儲存核心流程詳解》,本文將示範如何利用已取得的 OAuth 憑證,透過 API 發布微博內容。若您已完成授權流程,並將 `oauth_token` 與 `oauth_token_secret` 存入 Session,接下來的發布步驟將相當直觀。

核心程式碼實作

假設您已將使用者的 Token 存放於 `$_SESSION['last_key']` 陣列中,即可直接實例化 `WeiboClient` 並呼叫 `update()` 方法發布微博:

// Statuses/update
$c = new WeiboClient(
    WB_AKEY,
    WB_SKEY,
    $_SESSION['last_key']['oauth_token'],
    $_SESSION['last_key']['oauth_token_secret']
);

$msg = $c->update("測試發表微博");

if ($msg === false || $msg === null) {
    echo "Error occured";
    return false;
}

if (isset($msg['error_code']) && isset($msg['error'])) {
    echo 'Error_code: ' . $msg['error_code'] . '; Error: ' . $msg['error'];
    return false;
}

echo $msg['id'] . " : " . iconv('UTF-8', 'GB2312', $msg['text']) . " - " . $msg["created_at"];

關鍵點說明

  • WeiboClient 初始化:需傳入 App Key、App Secret、用戶 Token 及 Token Secret 四個參數。
  • 錯誤處理:回傳 `false`/`null` 代表呼叫失敗;若回傳陣列包含 `error_code` 則為 API 業務邏輯錯誤,需分別處理。
  • 編碼轉換:範例使用 `iconv` 將 UTF-8 轉為 GB2312 輸出,視您的專案編碼環境決定是否需要。

常見問題排查

若發布失敗,建議依序檢查:

  1. App Key/Secret 是否正確且具備發布權限
  2. 用戶 Token 是否過期或被撤銷
  3. 微博內容是否包含敏感詞或超過長度限制
  4. 伺服器時間是否同步(OAuth 簽名對時間敏感)

掌握此流程後,您即可輕鬆整合「自動發文」、「排程發布」或「多帳號管理」等進階功能。

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