nodeweibo
v2.0.4
Published
新浪微博OAuth2接口封装,基于Node.js平台(package Weibo API base on Node.js)
Downloads
38
Maintainers
Readme
nodeweibo
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"
}
四、API文档
OAuth2 class
| function name | doc | | ------------- | --- | | Weibo.OAuth2.access_token | /oauth2/access_token | | Weibo.OAuth2.get_token_info | /oauth2/get_token_info |
Statuses class
| function name | doc | | ------------- | --- | | Weibo.Statuses.public_timeline | /2/statuses/public_timeline | | Weibo.Statuses.friends_timeline | /2/statuses/friends_timeline | | Weibo.Statuses.home_timeline | /2/statuses/home_timeline | | Weibo.Statuses.friends_timeline_ids | /2/statuses/friends_timeline/ids | | Weibo.Statuses.user_timeline | /2/statuses/user_timeline | | Weibo.Statuses.user_timeline_ids | /2/statuses/user_timeline/ids | | Weibo.Statuses.timeline_batch | /2/statuses/timeline_batch | | Weibo.Statuses.repost_timeline | /2/statuses/repost_timeline | | Weibo.Statuses.repost_timeline_ids | /2/statuses/repost_timeline/ids | | Weibo.Statuses.mentions | /2/statuses/mentions | | Weibo.Statuses.mentions_ids | /2/statuses/mentions/ids | | Weibo.Statuses.bilateral_timeline | /2/statuses/bilateral_timeline | | Weibo.Statuses.show | /2/statuses/show | | Weibo.Statuses.show_batch | /2/statuses/show_batch | | Weibo.Statuses.querymid | /2/statuses/querymid | | Weibo.Statuses.queryid | /2/statuses/queryid | | Weibo.Statuses.count | /2/statuses/count | | Weibo.Statuses.to_me | /2/statuses/to_me | | Weibo.Statuses.to_me_ids | /2/statuses/to_me/ids | | Weibo.Statuses.go | /2/statuses/go | | Weibo.Statuses.emotions | /2/emotions | | Weibo.Statuses.repost | /2/statuses/repost | | Weibo.Statuses.destroy | /2/statuses/destroy | | Weibo.Statuses.update | /2/statuses/update | | Weibo.Statuses.upload | /2/statuses/upload | | Weibo.Statuses.upload_url_text | /2/statuses/upload_url_text | | Weibo.Statuses.filter_create | /2/statuses/filter/create | | Weibo.Statuses.mentions_shield | /2/statuses/mentions/shield | | Weibo.Statuses.tags | /2/statuses/tags | | Weibo.Statuses.tags_show_batch | /2/statuses/tags/show_batch | | Weibo.Statuses.tag_timeline_ids | /2/statuses/tag_timeline/ids | | Weibo.Statuses.tags_create | /2/statuses/tags/create | | Weibo.Statuses.tags_destroy | /2/statuses/tags/destroy | | Weibo.Statuses.tags_update | /2/statuses/tags/update | | Weibo.Statuses.update_tags | /2/statuses/update_tags |
Comments class
| function name | doc | | ------------- | --- | | Weibo.Comments.show | /2/comments/show | | Weibo.Comments.by_me | /2/comments/by_me | | Weibo.Comments.to_me | /2/comments/to_me | | Weibo.Comments.timeline | /2/comments/timeline | | Weibo.Comments.mentions | /2/comments/mentions | | Weibo.Comments.show_batch | /2/comments/show_batch | | Weibo.Comments.create | /2/comments/create | | Weibo.Comments.destroy | /2/comments/destroy | | Weibo.Comments.destroy_batch | /2/comments/destroy_batch | | Weibo.Comments.reply | /2/comments/reply |
Users class
| function name | doc | | ------------- | --- | | Weibo.Users.show | /2/users/show | | Weibo.Users.domain_show | /2/users/domain_show | | Weibo.Users.counts | /2/users/counts | | Weibo.Users.get_top_status | /2/users/get_top_status | | Weibo.Users.set_top_status | /2/users/set_top_status | | Weibo.Users.cancel_top_status | /2/users/cancel_top_status |
Friendships class
| function name | doc | | ------------- | --- | | Weibo.Friendships.friends | /2/friendships/friends | | Weibo.Friendships.friends_remark_batch | /2/friendships/friends/remark_batch | | Weibo.Friendships.friends_in_common | /2/friendships/friends/in_common | | Weibo.Friendships.friends_bilateral | /2/friendships/friends/bilateral | | Weibo.Friendships.friends_bilateral_ids | /2/friendships/friends/bilateral/ids | | Weibo.Friendships.friends_ids | /2/friendships/friends/ids | | Weibo.Friendships.followers | /2/friendships/followers | | Weibo.Friendships.followers_ids | /2/friendships/followers/ids | | Weibo.Friendships.followers_active | /2/friendships/followers/active | | Weibo.Friendships.friends_chain_followers | /2/friendships/friends_chain/followers | | Weibo.Friendships.show | /2/friendships/show | | Weibo.Friendships.create | /2/friendships/create | | Weibo.Friendships.destroy | /2/friendships/destroy | | Weibo.Friendships.followers_destroy | /2/friendships/followers/destroy | | Weibo.Friendships.followers_destroy | /2/friendships/followers/destroy | | Weibo.Friendships.remark_update | /2/friendships/remark/update | | Weibo.Friendships.groups | /2/friendships/groups | | Weibo.Friendships.groups_timeline | /2/friendships/groups/timeline | | Weibo.Friendships.groups_timeline_ids | /2/friendships/groups/timeline/ids | | Weibo.Friendships.groups_members | /2/friendships/groups/members | | Weibo.Friendships.groups_members_ids | /2/friendships/groups/members/ids | | Weibo.Friendships.groups_members_description | /2/friendships/groups/members/description | | Weibo.Friendships.groups_is_member | /2/friendships/groups/is_member | | Weibo.Friendships.groups_listed | /2/friendships/groups/listed | | Weibo.Friendships.groups_show | /2/friendships/groups/show | | Weibo.Friendships.groups_show_batch | /2/friendships/groups/show_batch | | Weibo.Friendships.groups_create | /2/friendships/groups/create | | Weibo.Friendships.groups_update | /2/friendships/groups/update | | Weibo.Friendships.groups_destroy | /2/friendships/groups/destroy | | Weibo.Friendships.groups_members_add | /2/friendships/groups/members/add | | Weibo.Friendships.groups_members_add_batch | /2/friendships/groups/members/add_batch | | Weibo.Friendships.groups_members_update | /2/friendships/groups/members/update | | Weibo.Friendships.groups_members_destroy | /2/friendships/groups/members/destroy | | Weibo.Friendships.groups_order | /2/friendships/groups/order |
Account class
| function name | doc | | ------------- | --- | | Weibo.Account.get_privacy | /2/account/get_privacy | | Weibo.Account.profile_school_list | /2/account/profile/school_list | | Weibo.Account.rate_limit_status | /2/account/rate_limit_status | | Weibo.Account.profile_email | /2/account/profile/email | | Weibo.Account.get_uid | /2/account/get_uid | | Weibo.Account.end_session | /2/account/end_session |
Favorites class
| function name | doc | | ------------- | --- | | Weibo.Favorites.favorites | /2/favorites | | Weibo.Favorites.ids | /2/favorites/ids | | Weibo.Favorites.show | /2/favorites/show | | Weibo.Favorites.by_tags | /2/favorites/by_tags | | Weibo.Favorites.by_tags_ids | /2/account/get_uid | | Weibo.Favorites.end_session | /2/favorites/by_tags/ids | | Weibo.Favorites.create | /2/favorites/create | | Weibo.Favorites.destroy | /2/favorites/destroy | | Weibo.Favorites.destroy_batch | /2/favorites/destroy_batch | | Weibo.Favorites.tags_update | /2/favorites/tags/update | | Weibo.Favorites.tags_update_batch | /2/favorites/tags/update_batch | | Weibo.Favorites.tags_destroy_batch | /2/favorites/tags/destroy_batch |
Trends class
| function name | doc | | ------------- | --- | | Weibo.Trends.hourly | /2/trends/hourly | | Weibo.Trends.daily | /2/trends/daily | | Weibo.Trends.weekly | /2/trends/weekly |
Tags class
| function name | doc | | ------------- | --- | | Weibo.Tags.tags | /2/tags | | Weibo.Tags.tags_batch | /2/tags/tags_batch | | Weibo.Tags.suggestions | /2/tags/suggestions | | Weibo.Tags.create | /2/tags/create | | Weibo.Tags.destroy | /2/tags/destroy | | Weibo.Tags.destroy_batch | /2/tags/destroy_batch |
Register class
| function name | doc | | ------------- | --- | | Weibo.Register.verify_nickname | /2/register/verify_nickname |
Search class
| function name | doc | | ------------- | --- | | Weibo.Search.suggestions_users | /2/search/suggestions/users | | Weibo.Search.suggestions_schools | /2/search/suggestions/schools | | Weibo.Search.suggestions_companies | /2/search/suggestions/companies | | Weibo.Search.suggestions_apps | /2/search/suggestions/apps | | Weibo.Search.suggestions_at_users | /2/search/suggestions/at_users | | Weibo.Search.topics | /2/search/topics |
Suggestions class
| function name | doc | | ------------- | --- | | Weibo.Suggestions.users_hot | /2/suggestions/users/hot | | Weibo.Suggestions.users_may_interested | /2/suggestions/users/may_interested | | Weibo.Suggestions.users_by_status | /2/suggestions/users/by_status | | Weibo.Suggestions.statuses_reorder | /2/suggestions/statuses/reorder | | Weibo.Suggestions.statuses_reorder_ids | /2/suggestions/statuses/reorder/ids | | Weibo.Suggestions.favorites_hot | /2/suggestions/favorites/hot | | Weibo.Suggestions.users_not_interested | /2/suggestions/users/not_interested |
Remind class
| function name | doc | | ------------- | --- | | Weibo.Remind.unread_count | /2/remind/unread_count | | Weibo.Remind.set_count | /2/remind/set_count |
Short_url class
| function name | doc | | ------------- | --- | | Weibo.Short_url.shorten | /2/short_url/shorten | | Weibo.Short_url.expand | /2/short_url/expand | | Weibo.Short_url.share_counts | /2/short_url/share/counts | | Weibo.Short_url.share_statuses | /2/short_url/share/statuses | | Weibo.Short_url.comment_counts | /2/short_url/comment/counts | | Weibo.Short_url.comment_comments | /2/short_url/comment/comments |
Notification class
| function name | doc | | ------------- | --- | | Weibo.Notification.send | /2/notification/send |
Common class
| function name | doc | | ------------- | --- | | Weibo.Common.code_to_location | /2/common/code_to_location | | Weibo.Common.get_city | /2/common/get_city | | Weibo.Common.get_province | /2/common/get_province | | Weibo.Common.get_country | /2/common/get_country | | Weibo.Common.get_timezone | /2/common/get_timezone |
Place class
| function name | doc | | ------------- | --- | | Weibo.Place.public_timeline | /2/place/public_timeline | | Weibo.Place.friends_timeline | /2/place/friends_timeline | | Weibo.Place.user_timeline | /2/place/user_timeline | | Weibo.Place.poi_timeline | /2/place/poi_timeline | | Weibo.Place.nearby_timeline | /2/place/nearby_timeline | | Weibo.Place.statuses_show | /2/place/statuses/show | | Weibo.Place.users_show | /2/place/users/show | | Weibo.Place.users_checkins | /2/place/users/checkins | | Weibo.Place.users_photos | /2/place/users/photos | | Weibo.Place.users_tips | /2/place/users/tips | | Weibo.Place.users_todos | /2/place/users/todos | | Weibo.Place.pois_show | /2/place/pois/show | | Weibo.Place.pois_users | /2/place/pois/users | | Weibo.Place.pois_tips | /2/place/pois/tips | | Weibo.Place.pois_photos | /2/place/pois/photos | | Weibo.Place.pois_search | /2/place/pois/search | | Weibo.Place.pois_category | /2/place/pois/category | | Weibo.Place.nearby_pois | /2/place/nearby/pois | | Weibo.Place.nearby_users | /2/place/nearby/users | | Weibo.Place.nearby_photos | /2/place/nearby/photos | | Weibo.Place.nearby_users_list | /2/place/nearby_users/list | | Weibo.Place.pois_create | /2/place/pois/create | | Weibo.Place.pois_add_checkin | /2/place/pois/add_checkin | | Weibo.Place.pois_add_photo | /2/place/pois/add_photo | | Weibo.Place.pois_add_tip | /2/place/pois/add_tip | | Weibo.Place.pois_add_todo | /2/place/pois/add_todo | | Weibo.Place.nearby_users_create | /2/place/nearby_users/create | | Weibo.Place.nearby_users_destroy | /2/place/nearby_users/destroy |
Location class
| function name | doc | | ------------- | --- | | Weibo.Location.base_get_map_image | /2/location/base/get_map_image | | Weibo.Location.geo_ip_to_geo | /2/location/geo/ip_to_geo | | Weibo.Location.geo_address_to_geo | /2/location/geo/address_to_geo | | Weibo.Location.geo_geo_to_address | /2/location/geo/geo_to_address | | Weibo.Location.geo_gps_to_offset | /2/location/geo/gps_to_offset | | Weibo.Location.geo_is_domestic | /2/location/geo/is_domestic | | Weibo.Location.pois_search_by_location | /2/location/pois/search/by_location | | Weibo.Location.pois_search_by_geo | /2/location/pois/search/by_geo | | Weibo.Location.pois_search_by_area | /2/location/pois/search/by_area | | Weibo.Location.pois_show_batch | /2/location/pois/show_batch | | Weibo.Location.pois_add | /2/location/pois/add | | Weibo.Location.mobile_get_location | /2/location/mobile/get_location | | Weibo.Location.line_drive_route | /2/location/line/drive_route | | Weibo.Location.line_bus_route | /2/location/line/bus_route | | Weibo.Location.line_bus_line | /2/location/line/bus_line | | Weibo.Location.line_bus_station | /2/location/line/bus_station | | Weibo.Location.line_bus_station | /2/location/line/bus_station |