如何访问Microsoft Graph API

时间:2018-02-14 18:04:32

标签: java azure microsoft-graph

我正在尝试使用Java中的以下代码访问Microsoft Graph API: -

    String url_str = "https://graph.microsoft.com/v1.0/users/";
    String access_token = getAccessToken();
    url = new URL(url_str);
    con = ( HttpURLConnection )url.openConnection();
    con.setDoInput(true);
    con.setDoOutput(true);
    con.setUseCaches(false);
    con.setRequestMethod("GET");
    con.setRequestProperty("Authorization", access_token);
    con.setRequestProperty("Accept","application/json");
    con.connect();

    br = new BufferedReader(new InputStreamReader( con.getInputStream() ));
    String str = null;
    String line;
    while((line = br.readLine()) != null) {
        str += line;
    }
    System.out.println(str);
} catch (Exception e) {
    e.printStackTrace();
}

目前我正在获取JSON字符串,我需要进一步解析。我想知道的是,还有其他方法可以减少反序列化的痛苦或更好的东西。

4 个答案:

答案 0 :(得分:2)

Martin回复更新,Java SDK发布并可供公众预览: - https://github.com/microsoftgraph/msgraph-sdk-java

答案 1 :(得分:1)

我不知道任何适用于Microsoft Graph的Java SDK。但是,您可以使用jsonutil生成java对象,这将至少减少一些工作。

修改 作为mentioned by Pranay,发布了Java SDK,您应该使用它。

答案 2 :(得分:0)

您应该使用新发布的Microsoft Graph Java SDK。最近发布了更多详细信息here,SDK的github repo为here

答案 3 :(得分:0)

Microsoft Graph的另一个Java客户端是odata-client,它支持Graph v1.0,Beta,Graph Explorer端点以及对Dynamics CRM和Analytics for Devops OData服务的支持。我是 msgraph-sdk-java 库的早期合作者,那里的问题使我创建了我认为更强大的产品。特别是 odata-client-msgraph (和同级库)

  • 使用不变性
  • 检测补丁更改
  • 模型继承
  • 广泛使用流利的建设者
  • 在集合上实现java.util.Stream
  • 提供更轻松的身份验证
  • 提供更好的文字安全性
  • 生成的代码非常简洁
  • 具有更好的发现能力
  • 具有不错的API交互单元测试
  • 为该部分API提供电子邮件帮助程序
  • 根据服务的频繁更新而非常频繁地发布