无法使用 Microsoft graph 从 azure ad 获取所有用户列表 API
Unable to get all user list from the azure ad using Microsoft graph API
我有一个 python
代码,它从 azure ad
获取所有用户。下面是代码:
import http.client
import json
import requests
def get_token():
r = requests.post("https://login.microsoftonline.com/" + "<tenant_id>" + "/oauth2/token",
data={"grant_type": "client_credentials",
"client_secret": "<client_secret>",
"client_id": "<client_id>",
"resource": "https://graph.microsoft.com"})
ret_body = r.json()
return ret_body['access_token']
token = get_token()
headers = {'Authorization': 'Bearer ' + token}
conn = http.client.HTTPSConnection('graph.microsoft.com')
conn.request("GET", "/v1.0/users", "", headers)
response = conn.getresponse()
data = response.read()
data = data.decode('utf-8')
data = json.loads(data)
print(len(data['value']))
当我 运行 上面的代码时,我得到了正确的响应和所有数据。但是有些用户不在场。它只返回数据,直到数据中不存在带有 K
的名称和一些以 S
开头的名称。我也在检查用户列表的长度,它总是 100,而添加的用户总数是 178
我不确定为什么 API 只返回 100 个用户列表而不是完整的 178 个用户。任何人都可以告诉我代码或 API 有什么问题吗?请帮忙。谢谢
图表 API 默认情况下 return 第一页的前 100 位用户。
您需要请求下一页,文档:https://docs.microsoft.com/en-us/graph/paging?context=graph%2Fapi%2F1.0&view=graph-rest-1.0.
一个 @odata.nextLink
属性 在响应中被 return 编辑,您可以请求它以获取下一页。
我有一个 python
代码,它从 azure ad
获取所有用户。下面是代码:
import http.client
import json
import requests
def get_token():
r = requests.post("https://login.microsoftonline.com/" + "<tenant_id>" + "/oauth2/token",
data={"grant_type": "client_credentials",
"client_secret": "<client_secret>",
"client_id": "<client_id>",
"resource": "https://graph.microsoft.com"})
ret_body = r.json()
return ret_body['access_token']
token = get_token()
headers = {'Authorization': 'Bearer ' + token}
conn = http.client.HTTPSConnection('graph.microsoft.com')
conn.request("GET", "/v1.0/users", "", headers)
response = conn.getresponse()
data = response.read()
data = data.decode('utf-8')
data = json.loads(data)
print(len(data['value']))
当我 运行 上面的代码时,我得到了正确的响应和所有数据。但是有些用户不在场。它只返回数据,直到数据中不存在带有 K
的名称和一些以 S
开头的名称。我也在检查用户列表的长度,它总是 100,而添加的用户总数是 178
我不确定为什么 API 只返回 100 个用户列表而不是完整的 178 个用户。任何人都可以告诉我代码或 API 有什么问题吗?请帮忙。谢谢
图表 API 默认情况下 return 第一页的前 100 位用户。 您需要请求下一页,文档:https://docs.microsoft.com/en-us/graph/paging?context=graph%2Fapi%2F1.0&view=graph-rest-1.0.
一个 @odata.nextLink
属性 在响应中被 return 编辑,您可以请求它以获取下一页。