我正在尝试使用图形API从azure广告中获取用户列表。我通过使用以下查询获得了访问令牌:
https://login.microsoftonline.com/<tenant-Id>/oauth2/token
我得到以下回应:
{
"token_type": "Bearer",
"expires_in": "3600",
"ext_expires_in": "3600",
"expires_on": "1559555742",
"not_before": "1559551842",
"resource": "https://graph.microsoft.com",
"access_token": "eyJ0eXAiOiJKV1QiLCJub25jZSI6IkFRQUJBQUFBQUFEQ29NcGpKWHJ4VHE5Vkc5dGUtN0ZYUy1XcWZRa2RmUmVnSVJfWE4yLXdYSFZwLXJKdlltcWVzTzAwSmd1V2dJOVVQUVBWbldScjhtZjM1SHhXblhFcWhIMVlWY1Y2NlYS00ZTE1LTQ0NWEtOTM0Ni02YTBhOGQxN2UxOTYvIiwib2lkIjoiYzE0YzFlYmEtYzExMS00ZmMxLTllYjAtYTJmNGMwNjg4MDEyIiwic3ViIjoiYzE0YzFlYmEtYzExMS00ZmMxLTllYjAtYTJkKgCbMg5jElY2I83cKpRos6Jti3SUYIVTYiyF__gMsKzCQWgRZFUWnTi7syaypCrPEExPw_OMRJMNMOrYixTBZjwUi0H6ThGNxQOMt5mXhzvlVYRMdyChdmv4r2-JK-LX9yjBN8BWG78e3FYhWQCRERh5H3zNpdX1ln79QY38mhn-XJViA2vX-VCYqZhoUo-c_iR-_HZ3CLCHxRxgRHtT_oGXuX1Kegxo3F6FsuQ2Vj1WT5VjCRGCi71pY_lU_EROzkLdefS84fur4jBawvd1ccCf8u9U0kYy3xu0m02wNxKPe2Weg"
}
一旦有了令牌,我就是指这个link并使用下面的网址来获取用户列表:
https://graph.microsoft.com/v1.0/users
并在标头中传递令牌,但出现以下错误:
{
"error": {
"code": "InvalidAuthenticationToken",
"message": "CompactToken parsing failed with error code: 80049217",
"innerError": {
"request-id": "f03e6cc4-1888-406d-9ee4-2558b96e7fb4",
"date": "2019-06-03T09:22:30"
}
}
}
到目前为止,我是从邮递员那里进行此操作的,但稍后必须从python脚本中进行此操作。任何人都可以在这里提出问题吗。谢谢
答案 0 :(得分:1)
您可以按照以下步骤操作。
1。在AD App中-> API permissions
-> Add a permission
->选择Microsoft Graph
-> Application permissions
-> User.Read.All
->单击{{ 1}}->单击Add permissions
2。使用客户端凭据流获取访问令牌。
3。然后您可以使用第2步返回的令牌来调用MS图形api,它应该可以工作。
答案 1 :(得分:1)
似乎您正在尝试使用Microsoft Graph来获取user list
。为此,请参见以下步骤:
Azure门户网站权限:
转到您的Azure门户租户,并在API permissions
菜单上设置以下权限。请参见以下屏幕截图:
查看应用程序许可,如下所示:
对专用权限执行相同的操作。请参阅下面的专用权限
您的许可应如下所示:
请求令牌:
使用您的凭据将请求发送到令牌端点。如下所示:
解码令牌和检查权限:
获得令牌后,请确保https://jwt.io/
上的令牌包含所需的权限,如下所示:
请求用户列表
在此阶段,您将令牌添加到Type
上,就像bearer token
将令牌粘贴到令牌文本框中,然后单击发送。
获取用户列表:
您将获得以下屏幕截图中指定的用户列表。
如果您还有任何问题,请随时分享。谢谢,祝您编程愉快!