You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python将API A的imageID批量传递至API B的identifiers字段

从API A提取多个imageID并循环调用API B的实现方案

第一步:调用API A获取所有imageID

先修正API A代码里的语法问题(比如Category键的引号缺失、缩进错误),再从返回结果中提取所有imageId存入列表:

import requests  # 确保导入requests库

def get_api_a_image_ids():
    client_secret = ""
    request = requests.Requestor()  # 假设这是你封装的请求类
    path = "path to api"

    params = {
        "businessIdType": "ex",
        "businessId": "example",
        "limit": 50,
        "Category": "abc"  # 修复引号缺失问题
    }

    params_str = "&".join([f"{k}={v}" for k, v in params.items()])
    url = "?".join([path, params_str])

    vulns = request.post(
        url=url,
        version=1,
        json=params
    )
    response_data = vulns.json()

    # 提取所有有效imageId到列表
    image_ids = []
    for vuln in response_data.get("vulnerabilities", []):
        image_id = vuln.get("imageId")
        if image_id:  # 跳过空值,避免无效请求
            image_ids.append(image_id)
    
    return image_ids

第二步:封装API B调用逻辑,循环传入每个imageID

把API B封装成可接收image_id参数的函数,遍历第一步拿到的imageID列表,逐个发起请求:

def call_api_b(image_id):
    client_id = ""
    client_secret = ""
    request = requests.Requestor()
    path = "path to api"

    # 动态替换identifiers字段为当前imageID
    params = {
        "identifierType": "ImageId",
        "identifiers": [image_id]
    }

    params_str = "&".join([f"{k}={v}" for k, v in params.items()])
    url = "?".join([path, params_str])

    vulns_y = request.post(
        url=url,
        version=1,
        json=params
    )
    response_data_y = vulns_y.json()
    return response_data_y

# 主执行逻辑
if __name__ == "__main__":
    all_image_ids = get_api_a_image_ids()
    # 遍历每个imageID调用API B
    for img_id in all_image_ids:
        print(f"处理imageID: {img_id}")
        api_b_result = call_api_b(img_id)
        # 这里可根据需求处理返回结果,比如存储、打印等
        print(f"API B返回: {api_b_result}")

注意事项

  • 确认requests.Requestor是你项目中正确封装的请求类,若用原生requests库,需将请求方式改为requests.post()并调整参数
  • 加入空值判断是为了避免API A返回的vulnerabilities元素中缺少imageId的情况,防止无效请求

内容的提问来源于stack exchange,提问作者user19378169

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 13:27:40