我正在使用此API列出用户。我可以指定的参数之一是放置在数组中的团队ID。当我尝试指定团队ID时,将其放入有效负载中将不起作用,但是当我更改包含团队ID的URL时,它将起作用。
这是API参考:https://api-reference.pagerduty.com/#!/Users/get_users
这是我基于以下代码的内容:https://github.com/PagerDuty/API_Python_Examples/blob/master/REST_API_v2/Users/list_users.py
这是我尝试在有效负载中指定团队ID时的代码。由于某些原因,它不能像这样工作,但是当我将URL更改为url = 'https://api.pagerduty.com/users?team_ids%5B%5D=TEAMID&team_ids%5B%5D='
时,它就可以工作,在TEAMID中,我有一个实际的团队ID。
with open('config/config.json') as f:
config = json.load(f)
API_KEY = config['API_KEY']
TEAM_IDS = ['TEAMID']
def list_users():
url = 'https://api.pagerduty.com/users'
headers = {
'Accept': 'application/vnd.pagerduty+json;version=2',
'Authorization': 'Token token={token}'.format(token=API_KEY)
}
payload = {
'team_ids[]': TEAM_IDS
}
r = requests.get(url, headers=headers)
result = []
if r.status_code == 200:
# loops for each user and retrieves their email
result = [user['email'] for user in r.json()['users']]
return result
else:
return None
我想通过在阵列中列出团队ID并将其发送到有效负载中来完成这项工作,这样我就可以列出多个团队ID,而不会在URL中将它们全部弄乱。
看起来您只需要这样的东西