为了账号安全,请及时绑定邮箱和手机立即绑定

如何对值列表进行 api 请求调用?

如何对值列表进行 api 请求调用?

GCT1015 2022-05-24 16:49:57
我试图让它遍历变量列表“用户”中的每个元素,并在每个元素上调用 API 请求。现在,它只在列表的最后一个元素上调用 API。我尝试创建一个 for 循环,该循环将遍历列表中的每个元素,但它不起作用。它只会显示列表中最后一个用户 ID 的信息。with open('config/config.json') as f:    config = json.load(f)API_KEY = config['API_KEY']def users_info():    user = ['usrid1', 'usrid2', 'usrid3', 'usrid4', 'usrid5', 'usrid6', 'usrid7']    url = 'https://slack.com/api/users.info'    headers = {'Accept': 'application/x-www-form-urlencoded'}    payload = {        'token': API_KEY,        'user': user    }    r = requests.get(url, headers=headers, params=payload)    if r.status_code == 200:        print(r.json())我期望它打印出用户列表中提供的每个用户 ID 的用户信息。如何修复我的代码以使其正常工作?
查看完整描述

1 回答

?
炎炎设计

TA贡献1808条经验 获得超4个赞

此方法的松弛文档似乎表明您每次调用只能获取一个用户的信息。当您遍历用户时,您是否尝试过在循环中创建请求,例如:


with open('config/config.json') as f:

    config = json.load(f)


API_KEY = config['API_KEY']


def users_info():

    users = ['usrid1', 'usrid2', 'usrid3', 'usrid4', 'usrid5', 'usrid6', 'usrid7']

    url = 'https://slack.com/api/users.info'

    headers = {'Accept': 'application/x-www-form-urlencoded'}

    for user in users:

        payload = {

            'token': API_KEY,

            'user': user

        }

        r = requests.get(url, headers=headers, params=payload)

        if r.status_code == 200:

            print(r.json())

您还应该考虑这里有关如何在使用requests库时提高性能的信息,特别是关于Sessions.


查看完整回答
反对 回复 2022-05-24
  • 1 回答
  • 0 关注
  • 81 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信