使用户进入azure活动目录

时间:2018-02-17 20:08:42

标签: c# azure-active-directory microsoft-graph

我正在使用Graph API调用来获取组织中所有用户的详细信息。

function string getusers(){
        var client1 = new RestClient("https://graph.microsoft.com/v1.0/users");
        var request1 = new RestRequest(Method.GET);
        request1.AddHeader("Content-Type", "application/json");
        request1.AddHeader("Authorization", "Bearer " + token);

        request1.AddHeader("Cache-Control", "no");
        IRestResponse response1 = client1.Execute(request1);
        return response1.Content.toString();
}

我正在使用此API调用,但它返回与身份验证相关的错误:

 {
    "error": {
        "code": "Authorization_RequestDenied",
        "message": "Insufficient privileges to complete the operation.",
        "innerError": {
            "request-id": "16a2e8d3-a93d-4197-9ef9-8b67a705f0e5",
            "date": "2018-02-17T19:51:46"
        }
    }
}

但是当我改变时

var client1 = new RestClient("https://graph.microsoft.com/v1.0/users");

var client1 = new RestClient("https://graph.microsoft.com/v1.0/me");

然后它返回有关当前登录用户的所有详细信息。

在没有任何帮助或参考的情况下解决它真的很复杂。

1 个答案:

答案 0 :(得分:1)

您似乎已请求user.read范围。这样您就可以阅读当前用户的个人资料(/me),但不能阅读租户中的其他用户(/users)。

您还需要User.ReadBasic.All请求您的身份验证请求。这将允许您阅读租户中任何用户的基本配置文件信息。