【问题标题】:Accessing OneNote API from Java从 Java 访问 OneNote API
【发布时间】:2014-10-08 00:34:56
【问题描述】:

我有兴趣编写一个可以通过 OneNote API 访问我的 OneNote 笔记本的 Java 应用程序。我不确定如何从 Java 中访问该 API。谁能给我举个例子来说明如何从这里开始?我使用 Eclipse 作为我的开发环境。

【问题讨论】:

  • 感谢 nafas、upma 和 Adi 的快速回复。恐怕我还是有点糊涂。我希望能够使用 Microsoft 提供的 REST API 或 Microsoft COM API 从我的 Java 桌面应用程序中访问 OneNote 功能。但是,我不知道我需要在 Eclipse 中做什么才能访问这些 API。最终,我希望能够创建一个 Application 类型的对象...例如 Application myApp = new Application();并从那里继续,但我不知道如何让我可以使用 OneNote 应用程序类。

标签: java onenote


【解决方案1】:

这是一个简单的过程。

三个步骤是:

1) 在 OneNote 开发者页面上创建一个 OneNote 应用程序。更多信息在这里https://dev.onedrive.com/app-registration.htm。这是一次性操作。

2) 你的 java 应用程序应该提供一个认证机制和一个 tolken-refresh 机制。

有关身份验证机制部分的更多信息,请参阅此帖子:Getting a OneNote token with Java。这篇文章是关于 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();

}

NoteBooksNoteBook 是与 OneNote 对象的关键属性匹配的 2 个小类。

【讨论】:

    【解决方案2】:

    辛格拉斯,

    除了以上回复,Android OneNote API sample也可能对您有所帮助。没有可以创建的 OneNote 应用程序类(除非您想创建自己的)。您只需通过 HttpClient 调用 API。如果您不熟悉如何在 Java 中调用 REST API,this thread 可能会对您有所帮助。

    -- 詹姆斯

    【讨论】:

      【解决方案3】:

      Microsoft 提供了用于访问 One note 功能的 REST API,例如创建和访问便笺。见OneNote Rest API reference

      【讨论】:

        猜你喜欢
        • 2021-03-19
        • 2021-03-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多