首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用nodejs获取evernote的提醒

使用Node.js获取Evernote的提醒,可以通过Evernote的开放API来实现。Evernote提供了一组RESTful API,可以用于访问和操作用户的笔记、标签、提醒等内容。

首先,你需要在Evernote开发者网站上注册一个开发者账号,并创建一个应用程序,获取到API密钥和密钥密码。然后,你可以使用Node.js中的HTTP模块或者第三方的HTTP请求库(如axios、request等)来发送HTTP请求,调用Evernote的API。

以下是一个使用Node.js获取Evernote提醒的示例代码:

代码语言:javascript
复制
const axios = require('axios');

// 设置Evernote API的基本信息
const apiKey = 'YOUR_API_KEY';
const apiSecret = 'YOUR_API_SECRET';
const sandbox = false; // 是否使用沙箱环境,可根据需要设置

// 获取OAuth1.0的请求令牌
async function getRequestToken() {
  const requestTokenUrl = 'https://sandbox.evernote.com/oauth';
  const response = await axios.post(requestTokenUrl, {
    oauth_callback: 'YOUR_CALLBACK_URL',
    oauth_consumer_key: apiKey,
    oauth_consumer_secret: apiSecret,
  });
  const { oauth_token, oauth_token_secret } = response.data;
  return { oauth_token, oauth_token_secret };
}

// 获取用户授权
function getAuthorizationUrl(requestToken) {
  const authorizeUrl = `https://sandbox.evernote.com/OAuth.action?oauth_token=${requestToken.oauth_token}`;
  return authorizeUrl;
}

// 获取访问令牌
async function getAccessToken(requestToken, oauthVerifier) {
  const accessTokenUrl = 'https://sandbox.evernote.com/oauth';
  const response = await axios.post(accessTokenUrl, {
    oauth_consumer_key: apiKey,
    oauth_consumer_secret: apiSecret,
    oauth_token: requestToken.oauth_token,
    oauth_token_secret: requestToken.oauth_token_secret,
    oauth_verifier: oauthVerifier,
  });
  const { oauth_token, oauth_token_secret } = response.data;
  return { oauth_token, oauth_token_secret };
}

// 获取提醒列表
async function getReminders(accessToken) {
  const remindersUrl = 'https://sandbox.evernote.com/api/1.1/user/reminders';
  const response = await axios.get(remindersUrl, {
    headers: {
      Authorization: `Bearer ${accessToken.oauth_token}`,
    },
  });
  return response.data;
}

// 使用示例
async function main() {
  try {
    const requestToken = await getRequestToken();
    const authorizationUrl = getAuthorizationUrl(requestToken);
    console.log('请访问以下链接进行授权:', authorizationUrl);
    // 用户在浏览器中授权后,会跳转到你指定的回调URL,并携带oauth_verifier参数

    const oauthVerifier = 'USER_AUTHORIZED_VERIFIER'; // 用户授权后回调URL中的oauth_verifier参数
    const accessToken = await getAccessToken(requestToken, oauthVerifier);
    const reminders = await getReminders(accessToken);
    console.log('获取到的提醒列表:', reminders);
  } catch (error) {
    console.error('获取Evernote提醒失败:', error);
  }
}

main();

在上述示例代码中,你需要将YOUR_API_KEYYOUR_API_SECRET替换为你在Evernote开发者网站上注册应用程序时获得的API密钥和密钥密码。另外,你还需要设置YOUR_CALLBACK_URL为用户授权后的回调URL。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • NodeJS之Url使用

    通过http模块中request事件可以得到在服务端拿到客户端有关url数据(req.url),其中req.url得到数据是端口号后所有路径,之后通过调入url模块对获取req.url进行操作...再通过url下parse()方法,获得与该路径所有相关信息,其中pathname(路径名称)通过不同路径名称可以调用不同页面。...querystring模块使用针对post提交和get提交 通过http模块中request事件可以得到在服务端拿到客户端提交方式:method 1.操作为:req.method                                  ...post var querystring=require('querystring'); 1)针对get:querystring.parse(url.parse(req.url).query)//get类型获取查询字符串...  获取类型为:一个对象  { username: 'ss', password: 'ss' } 2)针对post需要使用request事件返回‘data’事件(操作数据)和‘end’事件(操作数据结束

    1.1K30

    使用forever守护nodejs进程

    一.简介 一般启动nodejs用node app.js 这样可以正常启动应用,但如果断开链接应用也就停止了,虽然可以用如下方法后台防止,但使用Forever可以更好解决问题。...nohup node app.js & Forever可以守护Node.js应用,断开情况下,应用也能正常工作。...1.安装forever到全局环境 npm install forever -g 2.查看应用列表 forever list 二.使用 启动 1.最简单启动方式 forever start ..../bin/www 4.指定node.js应用控制台输出文件和错误信息输出文件 forever start -o out.log -e err.log ..../bin/www 5.监听当前目录下文件改动,如有改动,立刻重启应用,不推荐做法!如有日志文件,日志文件是频繁更改 forever start -w .

    1.9K20

    写作工具链

    Photoshop):批处理与动作 Blog generator(hexo):优化内容页脚模版、修复google/baidu site xml 问题、修复https兼容问题 扩展 Markdown 源文件编辑工具集(nodejs-based...) 前期需求: 1)源文件持续修改中出现回归编辑工作,互相引用链接较多 2)兼容现有的 Blog Generator (Hexo) 便于融合使用 3)支持 command-line 模式便于调用 后续目标...--------------------'); v3:201706 [v3:201706] 更新内容: OmniFouse: 计划管理、进度提醒 数据容灾:统一使用坚果云 摄影处理:图片像素、大小处理...效果较好场景:园林、博物馆、航展 OmniGraffle:高级应用技能:图层、统一样式、配色技巧 图床:采用七牛云 Evernote:及时检阅、分类、删除剪辑内容 GitBook: 新手入门 Blog...这年头大家都挺忙,能用一张图表达意图,就不用写一大堆字啦。 Markdown:一次编写,到处发表 Markdown标记语言,我其实很久以前就掌握了,但是使用频率很低,也谈不上什么美感。

    1K90

    Nodejs 与 Python 使用对比

    文章由 @Keefer 授权分享 写这篇文章目的是想记录下NodeJs(后面简称node)与python使用对比,希望看完之后大家对node跟python有个基本认识。...对象,多个模块想要共享一个变量只能通过引入同一个模块方式获取共享变量。...python变量定义直接使用赋值方式即可:value = 1。python中只有模块、类和函数会引入新作用域,代码块不会引入新作用域。...导出模块可以使用exports跟module.exports,而require最终使用是module.exports对象。...需要注意是exports跟module.exports虽然使用是同一个内存地址,但如果对exports赋值了引用类型值,那么就等于给exports使用了新内存地址,使用require方法时就无法获取

    1.6K30

    使用angular2中使用nodejs创建服务器,并成功获取参数

    首先创建服务器: 1.最好使用express,这个库有更多api,方法:npm install express --save; 2. npm install @types/express --save...; 安装nodemon 可以让服务器自动重启, 方法:npm install nodemon; 在启动服务器时候用:nodemon build/...js; 这样服务器就算启动完成了. /** *...server =app.listen(8000,"localhost",()=>{ console.log("服务器已经启动,地址是http://localhost:8000") }); 接着在本地从创建好服务器上获取数据...接着就是坑了,写完后,发现还是获取不到服务器上数据: 接下来还有配置: 在根目录新建一个文件:proxy.conf.json  内容为: { "/api":{ "target":"http...然后在package.json文件中,修改一行 "start": "ng serve --proxy-config proxy.confi.json", 然后启动 要用npm run start; 只要使用这个命令

    4.3K70

    AARRR模型使用注意事项【防坑提醒

    AARRR是五个单词缩写: 用户获取Acquisition 用户活跃Activation 用户留存Retention 用户收益Revenue 用户转介绍Refer 从这五个方面可以诊断一个应用发展情况...,具体使用中,有五大注意事项。...比如做B2B业务销售、或者大宗耐用品销售,关注核心是售前7步跟进,关注是用户需求点。...而如果做大DAU路线,比如消消乐,跑酷,斗地主,那就得把收入往后摆,在保持活跃度情况下全力做新用户获取与转介绍。虽然都是游戏,但两种模式决定了AARRR两种组合形态。...实际上,每个维度单独看,都有一些立竿见影做法,能把数据值搞起来: 用户获取A:花钱买量,砸广告 用户活跃A:大转盘、大抽奖、大赠送、单品9.9元限时特卖 用户留存R:30天、60天、90天派各种券

    65150

    使用Nodejs获取自己所有的CSDN博客附源码与效果图

    最近一直在想着做一个自己博客数据统计。做数据统计,报表,必须要先有数据,于是写了一个使用Nodejs获取自己CSDN所有博客链接程序, 并将这些博客数据通过页面展示出来。...后端获取后,将数据格式化,并返回前端,前端使用数据,展示到用户页面上。软件第一此迭代需求做到这一步就行了。文章阅读数,点赞数,收藏数,文章具体内容,这些暂时不做。 那么这个需求难题在哪里那?...框架搭建,技术选型 因为对Nodejs了解比较多,之前也做过类似的功能,所有后端就用Nodejs,框架使用express,异步操作库使用async,因为前端只有一个页面,就不用前后端分离形式了,直接html...获取一个http路径中html源码,使用总页数控制循环调用函数,并将当前页码拼接到请求url上。...这样就能获取所有的文章了。 需要考虑问题是,每次发送请求最好有一个时间间隔,另外就是循环调用异步函数后回调函数处理.所幸这些问题都能使用async得到解决。

    62010

    nodejs 图片处理工具 gm 使用

    实现切割逻辑 读取大图对应数据文件(我这里用到是 json 文件,其他格式,可以根据实际格式修改对应逻辑),获取大图,根据数据信息,读取对应位置和大小图片,保存到本地即可,裁剪图片主要用下面的方法进行实现...= null){ console.log(err); } } ); 下图是实现时选择大图对应 atlas 数据文件,格式化后样式。 ?...上图可以看出来,取出 frames 内所有图片信息,就可以在大图内裁剪每张图片了,图片名字同时也能获取得到。...console.log(err); } } ); } }); 上图是按照自己方便获取图片格式进行实现...上图是裁剪前大图,下图是裁剪后成张碎图。 ?

    1.5K10

    深入 Nodejs 源码探究 CPU 信息获取与利用率计算

    带着这些疑问,本节会先从 Linux 下 CPU 利用率进行一个简单讲解做一下前置知识铺垫,之后会深入 Nodejs 源码,去探讨如何获取 CPU 信息及计算 CPU 某时间段利用率。...Linux 下 CPU 利用率做一个简单了解,计算某时间段 CPU 利用率公式可以先理解下,在下文最后会使用 Nodejs 进行实践。...这块可以扩展下,感兴趣可以尝试下使用 shell 脚本实现 CPU 利用率计算。 在 Nodejs 中是如何获取 cpu 信息?...到这里也就该明白了,Linux 平台下我们使用 Nodejs os 模块 cpus() 方法最终也是读取 /proc/stat 文件获取 CPU 信息。...Libuv -> OS 这对于梳理其它 API 是通用,可以做为一定参考,最后使用 Nodejs 对 CPU 利用率计算进行了实践。

    1.7K20

    使用 Serverless + 飞书打造你个性化消息提醒系统

    立即点击-> 选择您最喜爱框架,免费体验 Serverless Demo 一、前言 在日常工作学习生活中,我们可能会遇到以下情形: 自己管理某台服务器宕机了,但是没有得到及时提醒,导致业务受到损失...在这里我想向大家推荐一个解决方案,那就是使用 Serverless + 飞书打造属于自己个性化消息提醒系统。...$ serverless --debug 从终端获取 API 网关 URL ?...获取 API 网关 URL 四、上线应用 回到飞书开放平台,在企业自建应用列表中点击刚刚创建成功应用 点击应用功能-机器人,点击启用机器人 ?...使用 Talend API Tester 调用接口 可以看到,飞书消息推送很及时 ? 电脑端效果 七、结语 其实利用飞书能实现并不只有这些而已,我相信聪明你一定能开发出更加好玩应用。

    1.7K72

    Nodejs Stream pipe 使用与实现原理分析

    1.1 未使用 Stream pipe 情况 在 Nodejs 中 I/O 操作都是异步,先用 util 模块 promisify 方法将 fs.readFile callback 形式转为 Promise...1.3 使用 Stream VS 不使用 Stream 看到一个图片,不得不说画实在太萌了,来源 https://www.cnblogs.com/vajoy/p/6349817.html 2 pipe...调用过程与实现原理分析 以上最后以流方式响应数据最核心实现就是使用 pipe 方法来实现输入、输出,本节重点也是研究 pipe 实现,最好打开方式通过阅读源码实现吧。...Stream 导入了 internal/streams/legacy 上面 /lib/internal/fs/streams.js 文件从 stream 模块获取了一个 Readable 对象,就是下面的...我们在使用 pipe 方法时候也是监听 data 事件,一边读取数据一边写入数据。

    5.7K41

    NodeJS】基于Express框架创建Node后台获取前端传过来参数

    此文章是这个系列第四篇文章,我们给大家介绍下如何在Node后台项目中获取前端页面传过来值。...写在前面 NodeJS后台主要是用来实现后台数据库增删改查,那么数据库增删改查是需要依赖我们前端传过来数据值,也就是说,我们要在数据库中插入一个值,插入这个过程是NodeJS后台代码来做,具体要插入值则是我们前端通过...ajax或者axios传过去值,所以就有一个问题:在NodeJS后台我们要接受前端传过来值。...环境要求 安装了NodeJS环境(可以使用npm包管理工具) 初始化了一个NodeJS后台项目demo 操作步骤 1、在后台接口中,我们一般是使用req.body来获取前端通过ajax或者axios传递过来参数...,但是有时候我们通过req.body去获取时候发现参数为空,所以我们就要找一种解决方法,在这里推荐使用body-parser插件来解决。

    1.9K20

    NodeJS学习二(模板引擎配置和使用

    当页面内容比较多时候,如果像上一节中说到在绑定路由使用app.send()方法返回大量html字符串是不现实,这个时候通常需要配置模板使其返回对应页面。...express = require('express'); //创建app应用,相当于nodeJShttp.createService() var app = express(); //1加载模板处理模块...var swig = require('swig'); //2配置模板应用模块 //定义当前应用所使用模板引擎,第一个参数:模板引擎名称,同时也是模板文件后缀;第二个参数:解析处理模板内容方法...但是在当改变index.html内容后刷新页面不会即使刷新,这是因为引擎第一次读取模板会将其缓存到内存中,再次读取会从缓存中直接获取,需要重启服务才能看到效果。...应用,相当于nodeJShttp.createService() var app = express(); //1加载模板处理模块 var swig = require('swig'); //2配置模板应用模块

    73130
    领券