我有兴趣编写一个可以通过 OneNote API 访问我的 OneNote 笔记本的 Java 应用程序。我不确定如何从 Java 中访问该 API。谁能给我举个例子来说明如何从这里开始?我使用 Eclipse 作为我的开发环境。
3 回答
这是一个简单的过程。
这 3 个步骤将是:
1) 在 OneNote 开发者页面创建一个 OneNote 应用程序。更多信息在这里https://dev.onedrive.com/app-registration.htm。这是一次性行动。
2) 你的 java 应用程序应该提供一个认证机制和一个 tolken-refresh 机制。
有关身份验证机制部分的更多信息,请参阅此帖子:使用 Java 获取 OneNote 令牌。这篇文章是关于 OAuth 2.0 流程“授权码授予流程”的。更多信息在这里https://msdn.microsoft.com/en-us/library/hh243647.aspx#flows
3) 您的 java 应用程序调用 adhoc API Rest 方法来检索所需的信息。
检索所有笔记本的示例(使用 OkHttp 进行 Http 请求):
private final static String NOTEBOOKS_ENDPOINT = "https://www.onenote.com/api/v1.0/me/notes/notebooks";
public Notebooks readAllNoteBooks() {
try {
if (client == null)
client = new OkHttpClient();
Request request = createOneNoteRequest(a_valid_tolken, NOTEBOOKS_ENDPOINT);
Response response = client.newCall(request).execute();
JsonObject content = UrlHelper.parseResponse(response);
System.out.println(content);
return Notebooks.build(content.get("value"));
} catch (Exception ex) {
ex.printStackTrace();
}
return null;
}
public static Request createOneNoteRequest(String mAccessToken, String url) {
Request.Builder reqBuilder = new Request.Builder();
reqBuilder.url(url);
reqBuilder.header("Authorization", "Bearer " + mAccessToken);
return reqBuilder.build();
}
NoteBooks
并且NoteBook
是 2 个与 OneNote 对象的关键属性匹配的小类。
辛格拉斯,
除了以上回复,Android OneNote API 示例也可能对您有所帮助。没有可以创建的 OneNote 应用程序类(除非您想创建自己的)。您只需通过 HttpClient 调用 API。如果您不熟悉如何在 Java 中调用 REST API,这个线程可能会对您有所帮助。
- 詹姆士
Microsoft 提供了用于访问 One note 功能的 REST API,例如创建和访问便笺。请参阅OneNote Rest API 参考。