Python 如何从该API获取所有用户的电子邮件?
我正在使用这个API并尝试获取用户的所有电子邮件。我尝试循环结果,但它只返回循环到用户数的第一个结果 下面是我当前的代码Python 如何从该API获取所有用户的电子邮件?,python,python-3.x,api,Python,Python 3.x,Api,我正在使用这个API并尝试获取用户的所有电子邮件。我尝试循环结果,但它只返回循环到用户数的第一个结果 下面是我当前的代码 def get_user(): url = 'https://api.pagerduty.com/users' headers = { 'Accept': 'application/vnd.pagerduty+json;version=2', 'Authorization': 'Token token={token}'.for
def get_user():
url = 'https://api.pagerduty.com/users'
headers = {
'Accept': 'application/vnd.pagerduty+json;version=2',
'Authorization': 'Token token={token}'.format(token=API_KEY)
}
r = requests.get(url, headers=headers)
result = []
emails = r.json()['users'][0]['email']
for email in emails:
if r.status_code == 200:
result.append(emails)
return result
我目前在一个附加列表中返回结果,但该列表不起作用,因此我如何获取每个用户的电子邮件,而不仅仅是第一个用户的电子邮件?您需要循环查看
用户
对象,并从每个用户处获取电子邮件。当前,您仅收到用户0的电子邮件
if r.status_code == 200:
result = [user['email'] for user in r.json()['users']]
else:
# raise some error, set result = [], or some other indication of failure
应该是result.append(电子邮件)
。。。。不是电子邮件
?@johnnymapp我刚刚试过,它会返回每个用户电子邮件的第一个字母。看起来你应该在用户和每个收到他们电子邮件的用户之间循环。完整响应对象看起来像什么?@PatrickHaugh完整响应与此处类似: