我如何使这个API与有效负载一起使用?

问题描述 投票:0回答:1

我正在使用此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中将它们全部弄乱。

python python-3.x api
1个回答
0
投票

看起来您只需要这样的东西

© www.soinside.com 2019 - 2024. All rights reserved.