基于Node.js的新浪微博的API封裝:node-weibo
node-weibo v2.0 是對新浪微博的API的封裝,基于Node.js,認證方式采用OAuth2.
相對node-weibo v2.0之前版本的特性有:
(1)更加易于后面的拓展,比如新增函數,不會影響舊版本的使用
(2)更加高效和管理,尊重微博API的設計原則。
安裝
npm install nodeweibo
一、API使用說明
(1)閱讀新浪微博的API文檔 http://open.weibo.com/wiki/%E5%BE%AE%E5%8D%9AAPI (2)Weibo是整個命名空間,使用前請參考 examples/setting.json 創建/修改配置文件。
(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" }
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!