nodejs版的有道云API

nodejs版的有道云API

月光魔力鸭

2018-09-12 10:10 阅读 1371 喜欢 0 有道云 API nodejs

因为自己的记录笔记的应用是有道云,又想着把有道云跟自己的小网站联通起来,所以查找了有道云的undefined,然后实现了nodejs版本的sdk.

目前实现的比较简单,很多实现都没有进行优化,可能会有些BUG⊙﹏⊙‖∣,主要是提供给大家可以相互借鉴

安装

npm i ydnote

使用

//获取token
var YNote = require('ydnote');

var youdao = new YNote({
    //申请的client id
	clientId : '',
	//申请的client secret
	clientSecret : '',
	//应用回调地址
	oauthUrl : ''
});
//获得有道授权登录地址
console.log(youdao.getOAuthUrl());
//然后根据授权地址回调后返回的code,获得token
youdao.getToken('75875d373ab5e9e8b46f32301169bc19').then(function(token){
	console.log(token);
}).catch(function(e){
	console.log(e.status);
	console.log(e.message);
})

函数使用

再获得token后,将token保存,然后在调用函数的时候即可传token获取相关的信息。

获取用户信息

youdao.getUserInfo(token).then(function(userInfo){
	console.log('获得用户信息:'+userInfo.user)
}).catch(function(e){
	console.log(e.status);
	console.log(e.message);
})

获得所有的笔记本信息

youdao.getAllNotebook(token).then(function( bookList ){
	console.log(`笔记本个数有:${bookList.length}`);
}).catch(function(e){
	console.log(e.status);
	console.log(e.message);
	console.log(e.response.text)
})

获得笔记本内的所有笔记信息

youdao.getNoteOfBook(token,'/513BEFD144B84F28923AE83B09BB3DF2').then(function( noteList ){
	console.log(`笔记个数有:${noteList.length}`);
}).catch(function(e){
	console.log(e.status);
	console.log(e.message);
})

创建笔记本和删除

youdao.createNotebook(token,'API创建笔记本').then(function(rsObj){
	console.log('笔记本创建成功:'+rsObj.path);
	return youdao.deleteNotebook(token,rsObj.path);
}).then(function(){
	console.log('笔记本删除成功')//删除无返回值
}).catch(function(e){
	console.log(e.status);
	console.log(e.message);
	console.log(e.response.text);
})

创建笔记

youdao.createNote(token,{
	content : '<html><body><p style="color:red">笔记创建测试</p></body></html>',
	// content : 'aaa',
	title : '测试'
}).then(function(rsObj){
	console.log(rsObj);//返回保存后的路径和相关信息
})
.catch(function(e){
	console.log(e.status);
	console.log(e.message);
	console.log(e.response.text);
})

获取笔记信息

youdao.getNote(token,notePath)
.then(function(rsObj){
  console.log(rsObj);//获得笔记的详细信息
})
.catch(function(e){
	console.log(e.status);
	console.log(e.message);
	console.log(e.response.text);
})

修改笔记

youdao.updateNote(token,{
  path : rsObj.path,//笔记的path
  content : '修改'
})
.then(function(rsObj){
	console.log(rsObj);//该函数无返回值
})
.catch(function(e){
	console.log(e.status);
	console.log(e.message);
	console.log(e.response.text);
})

移动笔记

youdao.moveNote(token,rsObj.path,'/513BEFD144B84F28923AE83B09BB3DF2')
.then(function(rsObj){
	console.log(rsObj);//返回移动后的路径
})
.catch(function(e){
	console.log(e.status);
	console.log(e.message);
	console.log(e.response.text);
})

删除笔记

youdao.deleteNote(token,rsObj.path)
.then(function(rsObj){
	console.log(rsObj);//删除无返回值
})
.catch(function(e){
	console.log(e.status);
	console.log(e.message);
	console.log(e.response.text);
})

分享笔记

youdao.publishNote(token,rsObj.path);
.then(function(rsObj){
	console.log(rsObj);//返回分享后生成的URL
})
.catch(function(e){
	console.log(e.status);
	console.log(e.message);
	console.log(e.response.text);
})

文件上传

youdao.upload(token,__dirname+'/test.js')
.then(function(rsObj){
	console.log(rsObj);//返回上传后的路径
})
.catch(function(e){
	console.log(e);
})

下载文件

youdao.download(token,'https://note.youdao.com/yws/open/resource/download/20114/140BC634A1D9455DAC1E0BFBBD7894C5','/home/test.js')
.then(function(rs){
	console.log(rs);//下载完成
})
.catch(function(e){
	console.log(e);
})

以上是目前有道云笔记OpenApi 提供的功能,能做的还是比较少的,勉强能使用。

undefined

如果本文章有帮助到你..麻烦给个小星星啦~ 土豪,请随意..

转载请注明出处: https://chrunlee.cn/article/youdaonote-api-nodejs.html


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
通过imap 来接收邮箱新邮件,类似客户端系列,不过比较简单的,目前只有新邮件,后续也可以通过这个来做一个自己的邮件客户端。
最近在折腾的时候又想写less了,但是换框架了,成了thinkjs,考虑到开发阶段一直编译编译less的情况..最终根据middleware的特点实现了一个超级简单的less中间件。
docker镜像中的puppeteer安装
前几天给朋友帮忙,想要一个一模一样的网站...自告奋勇去帮忙.. 结果发现之前一直没处理过类似的情况,虽然也写过爬虫,不过看了下网站,也不算麻烦。于是简单实现了这个自动抓站的功能,最终整理成为一个自动抓站的工具,能省很多的事情。
由于只是做个测试,这里使用了expresss简单搭建了个后台服务,提供文件断点下载。
由于国家的行政区划每年都有变化,所以经常需要更新最新的数据,这里提供一个nodejs版本mysql数据存储的抓取示例。
最近由于系统需要一些数据进行测试,但是正常的流程都是下载pdf ,打印pdf,然后通过涂写答题卡,将涂写的扫描上传..太麻烦了,想做成简单点,通过程序直接生成..卡在了pdf转图片上,今天抽空找了下库,通过gm可以将pdf转为图片,起码第一步已经实现了,后边的涂学号之前已经做过了。
开始入手webpack ,直接看的官方文档和demo,对于自动刷新这部分还是希望通过express 加载插件来控制,但是文档没有提供,经过参考github上其他高玩的套路,最终整理了一个基础的配置版本。