Evernote(印象笔记)备份本机剪切板数据
2019-04-06 宇文江齐
前言 准备 其中要注意的是应用的权限:基本权限和完全权限;基本权限包括创建笔记,列出笔记等;完全权限包括更新删除等功能。 申请完之后会获取一封邮件,如下图所示: 主要信息是API Key相关信息,以及告诉我们沙箱环境已经激活,生产环境还没有激活,占时可以在沙箱环境进行测试,并且沙箱环境需要重新创建帐号。 2.evernote-sdk下载 3.用OAuth对印象笔记云 API进行认证 生成一个临时的Token
请求用户认证
取回 Access Token
接下来的步骤,访问API 可以直接将sample中的oauth项目直接导入到Eclipse中,部署到tomcat中,直接访问:http://localhost:8080/EDAMWebTest/
分别点击,最终为了获取Access Token,会在页面显示User access token:xxxx 4.简单测试 收集剪贴板 if (clipboard.isDataFlavorAvailable(DataFlavor.stringFlavor)) {String text = (String) clipboard.getData(DataFlavor.stringFlavor);
evernoteApi.createNoteText(text);
clipboard.setContents(new StringSelection(text), this);
} else if (clipboard.isDataFlavorAvailable(DataFlavor.imageFlavor)) {
final BufferedImage image = (BufferedImage) clipboard.getData(DataFlavor.imageFlavor);
ByteArrayOutputStream out = new ByteArrayOutputStream();
ImageIO.write(image, 'png', out);
Transferable trans = new Transferable() {
......
};
evernoteApi.createNoteImage('IMAGE:' new Date(), out.toByteArray());
clipboard.setContents(trans, this);
} else if (clipboard.isDataFlavorAvailable(DataFlavor.javaFileListFlavor)) {
@SuppressWarnings('unchecked')
List<File> array = (List<File>) clipboard.getData(DataFlavor.javaFileListFlavor);for (File file : array) {
evernoteApi.createNoteText(file.getPath());
}
clipboard.setContents(contents, this);
} else {
logger.info('未知的类型');
} 代码中主要对三种剪贴板数据类型进行了处理,分别是:DataFlavor.stringFlavor,DataFlavor.imageFlavor和DataFlavor.javaFileListFlavor;对应的是文本,图片和文件,文件只同步了文件的具体路径。 请求激活生产环境 代码做简单修改就可以直接在生产环境运行了,主要修改部分代码:
改完之后接下来和在沙箱环境是类似的,也需要先进行授权,然后获取access token,为了方便,分别提供了在代码中提供了两个bat文件,用来处理这两步,针对每个用户只需要获取一次就可以了。 具体代码地址: 运行效果 |
评论已关闭!