You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

如何使用Curl遍历自定义ID列表执行REST API删除操作及Python删除请求404问题解析

关于批量删除REST API资源的问题解答

1. Python删除请求返回404错误的原因

你遇到的404错误核心问题是请求URL中的变量没有被正确解析。在你的删除代码里,URL写死成了'https://api.onelink.com/api/v1/workspace_allocations/fn'——这里的fn只是字符串的一部分,并没有被替换成循环里的实际ID值。服务器收到的请求路径是固定的/workspace_allocations/fn,这个路径显然不存在,所以返回404(资源未找到)。

修正方法很简单,用Python的f-string把ID变量嵌入到URL中,修改后的代码如下:

headers = {
    'Authorization': 'Bearer ********-*******-*************',
}
for fn in workspace_allocations1:
    # 用f-string将动态ID插入URL
    response = requests.delete(f'https://api.onelink.com/api/v1/workspace_allocations/{fn}', headers=headers)
    print(f"处理ID {fn}: {response}")

这样每个请求都会生成对应ID的合法URL,就不会再出现404错误了。

2. 使用Curl遍历ID列表执行批量删除

当然可以用Shell脚本配合Curl完成批量删除,下面是一个Bash脚本示例,直接复用你拿到的ID列表:

#!/bin/bash

# 定义需要删除的资源ID列表
ALLOCATION_IDS=(
    '123697406'
    '123957117'
    '123957491'
    '123983488'
    '124074207'
    '124203018'
    '124229335'
    '124230125'
    '124246767'
    '124272164'
    '124272180'
    '124380726'
    '124397894'
    '124397895'
    '124397911'
    '124397912'
    '124397915'
    '124397923'
)

# 遍历ID执行删除请求
for id in "${ALLOCATION_IDS[@]}"
do
    echo "正在删除资源ID: $id"
    # 替换为你的真实Bearer令牌
    curl -X DELETE "https://api.onelink.com/api/v1/workspace_allocations/$id" \
         -H "Authorization: Bearer ********-*******-*************"
    echo -e "\n"
done

使用步骤:

  1. 将上述代码保存为delete_allocations.sh文件
  2. 执行chmod +x delete_allocations.sh赋予脚本执行权限
  3. 替换脚本中的Bearer令牌为你的真实授权令牌
  4. 运行脚本:./delete_allocations.sh

额外提示:

  • 可以在curl命令后添加-v参数查看详细请求日志,方便排查问题
  • 如果API有速率限制,建议在循环中加入sleep 1(等待1秒)避免触发限流
  • 可以检查curl的返回状态码,确保删除操作成功完成

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

火山引擎 最新活动