基于Node.js的新浪微博的API封裝:node-weibo

jopen 9年前發布 | 17K 次閱讀 Node.js 開發 node-weibo

node-weibo v2.0 是對新浪微博的API的封裝,基于Node.js,認證方式采用OAuth2.

相對node-weibo v2.0之前版本的特性有:
(1)更加易于后面的拓展,比如新增函數,不會影響舊版本的使用
(2)更加高效和管理,尊重微博API的設計原則。

安裝

npm install nodeweibo

基于Node.js的新浪微博的API封裝:node-weibo

一、API使用說明

(1)閱讀新浪微博的API文檔 http://open.weibo.com/wiki/%E5%BE%AE%E5%8D%9AAPI
(2)Weibo是整個命名空間,使用前請參考 examples/setting.json 創建/修改配置文件。

基于Node.js的新浪微博的API封裝:node-weibo

(3)請求授權接口作為單獨的接口,即在Weibo的命名空間下Weibo.authorize();
(4)瀏覽:http://open.weibo.com/wiki/%E5%BE%AE%E5%8D%9AAPI     
   如上圖所示,是API的命名方式.
   +---------
   比如1:需要使用“OAuth2授權接口”,點擊鏈接到頁面底部,看到“OAuth2”,那么OAuth2就是一個類,           
   即Weibo.OAuth2.     
   則Weibo.OAuth2的獲取access_token的方法是:Weibo.OAuth2.access_token;
   則授權查詢是:Weibo.OAuth2.get_token_info.
   類:OAuth2
   方法:access_token
   +---------
   比如2:需要使用“微博接口”,那么該類的名稱是Statuses.
   則返回最新的公共微博是:public_timeline.
   整個方法的調用是Weibo.Statuses.public_timeline.
   類:Statuses
   方法:public_timeline
   +---------

   所有類和函數命名方式尊重新浪微博API方式,以此類推.
(5)所有方法兩個參數,第一參數是該接口的參數(json對象格式,不含setting.json中的配置參數)

二、example說明

/*
+-------------------------------------------------
(1)注冊賬號:http://open.weibo.com/
(2)參考 examples/setting.json 創建/修改配置文件。
(3)搞清楚微博的認證機制即oauth2.0認證原理。
(4)第3點很重要,確保你理解這種開發方式。
+-------------------------------------------------
*/

var Weibo = require('nodeweibo');
var setting = require('path/to/setting.json');

// 首次調用接口前需初始化Weibo類,傳入配置信息 (appKey, appSecret, redirect_url, etc. )
Weibo.init(setting);

/*
+-------------------------------------------------
例1:開啟微博認證
啟動認證后,將在瀏覽器器打開一個窗口,url中含有code參數
注意:運行其中一個例子時,須注釋掉另一個例子。
+-------------------------------------------------
*/

Weibo.authorize();

/*
+--------------------------------------------------
例2:需要獲取access_token
(1)閱讀微博開放平臺API
   如:http://open.weibo.com/wiki/OAuth2/access_token,
   將必要的參數寫進jsonParas對象。
(2)在回調中打印出獲取的數據
(3)code是您瀏覽器窗口獲得的code。
(4)注意:如運行本例子,請注釋掉第1個例子,且code職能調用一次,
        會隨著認證不斷更新。一個用戶一個access_token。
+---------------------------------------------------
*/

var jsonParas = {
    code:"the value of your browser's parameter code",
    grant_type:"authorization_code"
};

Weibo.OAuth2.access_token(jsonParas,function(data){
    console.log(data);
});

/*
+--------------------------------------------------
例3:調用API
(1)閱讀微博開放平臺API
   如:http://open.weibo.com/wiki/2/statuses/user_timeline,
   將必要的參數寫進jsonParas對象。
(2)在回調中打印出獲取的數據
+---------------------------------------------------
*/

// 設置請求參數
var jsonParas = {
    "source": Weibo.appKey.appKey,
    "access_token": 'CLIENT_ACCESS_TOKEN_HERE'
};

// 調用API
Weibo.Statuses.user_timeline(jsonParas, function(data){
    console.log(data);
});

三、測試appkey

(1)如需開發,請將setting.json的appKey、appSecret、redirectUrl換成微博開放平臺的開發者賬號信息。
(2)提供appkey僅為測試所用,勿用于實際開發,否則我更改了賬號信息會影響您的應用正常使用。
(3)測試的應用信息如下。

{
    "appKey":"4263807830",
    "appSecret":"f314a703b2586510ae62a8baaef1570e",
    "redirectUrl":"127.0.0.1:3000"
}

項目主頁:http://www.baiduhome.net/lib/view/home/1435129703560

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!