nodeweibo新浪微博的 Node 封装

联合创作 · 2023-09-19 05:55

node-weibo v2.0 是对新浪微博的API的封装,基于Node.js,认证方式采用OAuth2。

相对node-weibo v2.0之前版本的特性有:

  • 更加易于后面的拓展,比如新增函数,不会影响旧版本的使用
  • 更加高效和管理,尊重微博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"
}
浏览 3
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报