核心概念

印象笔记云 API 的重要概念


概述

印象笔记云 API 不同于很多 web 服务 API,但是一旦你理解了一些基本例子,就很容易使用它了。

UserStore 和 NoteStore

云 API 由两个逻辑服务组成:UserStore 和 NoteStore。UserStore 管理印象笔记用户,并且第三方程序通常不使用它。NoteStore 管理用户的印象笔记帐户内容,所以它是你要访问的服务。本章介绍了一些使用云 API 的基本例子。一旦你理解了这些例子,你就可以利用参考文档来查找所有关于 NoteStore 的 API。

在你使用云 API 做任何事情之前,你需要认证并得到访问某个印象笔记帐户的权限。认证在认证章节详细解释了。当你成功认证后,你将得到两个你需要用来访问 NoteStore 的信息:用来访问 NoteStore 的 URL 和用来访问用户帐户的认证码。每个用户的 NoteStore 的 URL 可能不相同,所以不要把这个 URL 硬编码进代码,也不要假设它一直是不变的。

使用 SDK

云 API 包含你用来访问 UserStore 和 NoteStore 的封装函数库。你需要创建一个 NoteStore.Client 对象来调用 NoteStore API 函数。

1 2 3 4 5 6 7 8 9 10
// Retrieved during authentication:
String authToken = ...
String noteStoreUrl = ...
String userAgent = myCompanyName + " " + myAppName + "/" + myAppVersion;
THttpClient noteStoreTrans = new THttpClient(noteStoreUrl);
userStoreTrans.setCustomHeader("User-Agent", userAgent);
TBinaryProtocol noteStoreProt = new TBinaryProtocol(noteStoreTrans);
NoteStore.Client noteStore = new NoteStore.Client(noteStoreProt, noteStoreProt);
view raw example.java hosted with ❤ by GitHub

除了 User-Agent 字符串外,你不需要更改上面代码的其他地方。SDK 中的样例代码展示了如何使用其他语言来做同样的事。如果要使用印象笔记 API 的某个功能,可以直接调用你刚刚创建的 NoteStore.Client 对象里对应的方法:

1
List<Notebook> notebooks = noteStore.listNotebooks(authToken);
view raw example.java hosted with ❤ by GitHub

上面的代码调用了 NoteStore.listNotebooks 函数,它返回一个 NoteStore.listNotebooks 对象列表。服务所返回的笔记本和其他对象仅仅是一些结构-一些你可以读取和写入的独立信息的容器。所有实际的 API 调用都通过 NoteStore.Client 对象完成。当你要在一个印象笔记帐户里创建一个新对象时,你初始化一个对应的数据模型对象的实例,把你想设置的域填入对应的值,然后调用 API 函数:

1 2 3 4
Notebook notebook = new Notebook();
notebook.setTitle("My fancy new notebook");
Notebook theNewNotebook = noteStore.createNotebook(authToken, notebook);
view raw example.java hosted with ❤ by GitHub

当你在服务里创建一个新的对象时,它返回这个对象的一个实例,并且这个实例包含一个服务器为这个对象生成的唯一 ID。你将来使用这个实例的时候,你需要这个 ID。你并不需要(而且也不能够)事先填入这些 ID。

1 2 3 4 5
String guid = theNewNotebook.getGuid();
Note myNewNote = new Note();
note.setNotebookGuid(guid);
// ...
view raw example.java hosted with ❤ by GitHub

现在你理解了使用云 API 的基本例子,你可以参考其他章节来完成更具体的需求。

请填写下表,寻求印象笔记开发者支持团队的帮助
CAPTCHA 看不清?换一张
当你准备好在生产环境部署你的应用时,请填写下表以在我们的生产环境中激活你的 API Key。
以下情况,请勿提交激活申请:
1.仅供个人使用的应用,请使用开发者Token
2.测试请使用沙箱(Sandbox)环境,或使用开发者Token
3.违反Evernote API License条款的应用。

请详细介绍应用。

请解释下你的应用是如何使用创建、读取和更新笔记的权限的。
CAPTCHA 看不清?换一张
请填写下表,请求将你的应用加入到百宝箱中。
CAPTCHA 看不清?换一张
请完成下表以提交Webhook激活请求

请解释下你的应用将如何使用Webhook
CAPTCHA 看不清?换一张
Complete the form below to request your complimentary 1-year Squarespace account.