如何在c#console应用程序中使用Microsoft图形资源管理器?

时间:2017-02-20 12:28:47

标签: c# json outlook azure-ad-graph-api

我试图通过JSON输出获取用户组详细信息。我引用了一些HTTP方法来获取输出,但我得到异常The remote server returned an error: (401) Unauthorized.而不是我期望的JSON输出。

我的代码是

public void GetJSON()
    {
        string url = string.Format("https://graph.microsoft.com/v1.0/groups");
        HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(url);
        webrequest.Method = "GET";
        webrequest.ContentType = "application/x-www-form-urlencoded";
        webrequest.Headers.Add("Username", "mailID@domain.com");
        webrequest.Headers.Add("Password", "mypassword");
        HttpWebResponse webresponse = (HttpWebResponse)webrequest.GetResponse();
        Encoding enc = System.Text.Encoding.GetEncoding("utf-8");
        StreamReader responseStream = new StreamReader(webresponse.GetResponseStream(), enc);
        string result = string.Empty;
        result = responseStream.ReadToEnd();
        webresponse.Close();
        return result;
    }

我知道存在身份验证错误。但我不知道如何清除这个? 我可以在Microsoft图形资源管理器中获得预期的输出,但我在控制台应用程序中遇到此错误。

任何人都知道如何清除此异常?以前,我的方法是否正确使用Microsoft Graph API?

1 个答案:

答案 0 :(得分:1)

设置图形客户端有很多活动部分 - 一些在AD服务器上,一些在客户端代码中。在较高的层面上,这些包括"注册"您的客户端应用程序在服务器上使用应用程序密钥和密码,然后配置客户端将这些密钥值传递给服务器。如果您还没有这样做,请查看https://github.com/Azure-Samples/active-directory-dotnet-graphapi-console处提供的示例图表客户端控制台应用程序。除了示例源代码之外,还有关于如何设置环境的说明以及代码正在执行的操作的详细说明。