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

获取Autodesk Forge旧Bucket时遇400错误,请求排查

问题诊断与修正方案

核心错误点

  • API请求用途完全错误:你调用的POST https://developer.api.autodesk.com/oss/v2/buckets是创建新Bucket的接口,但你的需求是查找已存在的旧Bucket,接口类型和用途不匹配。而且创建Bucket的POST请求必须携带JSON格式的请求体(包含bucketKey、policyKey等参数),你没有传任何请求体,这直接导致API返回“Unable to parse JSON”错误。
  • Content-Type头配置错误:即使是创建Bucket,正确的Content-Type应该是application/json,而非你写的text/json,这个错误也会干扰API对请求的解析。

正确操作步骤

1. 列出所有已存在的Bucket

调用GET接口获取账号下的所有Bucket,从中找到存放Revit文件的目标Bucket:

import requests

bucket_list_url = 'https://developer.api.autodesk.com/oss/v2/buckets'
headers = {
    'Authorization': f'Bearer {access_token}'
}

bucket_list_response = requests.get(bucket_list_url, headers=headers)
# 解析响应,遍历找到目标Bucket的bucketKey
buckets = bucket_list_response.json().get('items', [])
for bucket in buckets:
    print(f"Bucket Key: {bucket['bucketKey']}, 创建时间: {bucket['createdDate']}")

2. 列出目标Bucket中的文件

拿到正确的bucketKey后,用以下代码(或对应的curl命令)列出Bucket内的文件:

object_list_url = f'https://developer.api.autodesk.com/oss/v2/buckets/{目标bucketKey}/objects'
object_response = requests.get(object_list_url, headers=headers)
print(object_response.json())

对应的curl命令(替换占位符):

curl -X GET "https://developer.api.autodesk.com/oss/v2/buckets/你的BucketKey/objects" \
-H "Authorization: Bearer 你的AccessToken"

补充:如果后续需要创建新Bucket

若之后有创建Bucket的需求,POST请求必须携带正确的JSON体和Content-Type:

create_bucket_url = 'https://developer.api.autodesk.com/oss/v2/buckets'
headers = {
    'Authorization': f'Bearer {access_token}',
    'Content-Type': 'application/json'
}
payload = {
    "bucketKey": "你的自定义bucketKey",
    "policyKey": "transient"  # 可选值:transient、temporary、persistent
}

create_response = requests.post(create_bucket_url, json=payload, headers=headers)

内容的提问来源于stack exchange,提问作者Leandro A.G.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 08:20:14