2 回答
TA贡献2012条经验 获得超12个赞
问题是您将photosceneid数据作为文件发送。在来自官方 api 的 cURL 片段中
curl -v 'https://developer.api.autodesk.com/photo-to-3d/v1/file' \
-X 'POST' \
-H 'Authorization: Bearer eyjhbGCIOIjIuzI1NiISimtpZCI6...' \
-F "photosceneid=hcYJcrnHUsNSPII9glhVe8lRF6lFXs4NHzGqJ3zdWMU" \
...
-F标志表示形式(在 cURL 的情况下),这不是文件所必需的。
因此,您必须将photosceneid和类型作为数据而不是文件发送:
from requests_toolbelt import MultipartEncoder
import requests
url = "https://developer.api.autodesk.com/photo-to-3d/v1/file"
payload = MultipartEncoder(
fields={'photosceneid': MY_PHOTOSCENE,
'type': 'image',
'file[0]': ("DSC_5428.JPG", open('./DSC_5428.JPG', 'rb'), 'image/jpg')
}
)
headers = {
'Content-Type': payload.content_type,
'Authorization': TOKEN
}
req = requests.request("POST",
url,
headers=headers,
data=payload
)
添加回答
举报