2 回答

TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個贊
問題是您將photosceneid數(shù)據(jù)作為文件發(fā)送。在來自官方 api 的 cURL 片段中
curl -v 'https://developer.api.autodesk.com/photo-to-3d/v1/file' \
-X 'POST' \
-H 'Authorization: Bearer eyjhbGCIOIjIuzI1NiISimtpZCI6...' \
-F "photosceneid=hcYJcrnHUsNSPII9glhVe8lRF6lFXs4NHzGqJ3zdWMU" \
...
-F標(biāo)志表示形式(在 cURL 的情況下),這不是文件所必需的。
因此,您必須將photosceneid和類型作為數(shù)據(jù)而不是文件發(fā)送:
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
)

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個贊
作為記錄,我們的后端存在一個問題,會導(dǎo)致重復(fù)的場景 ID ...
我們的工程部門正在積極解決這個問題——暫時作為一種解決方法,如果您再次遇到類似問題,請創(chuàng)建另一個場景......
而且您在上傳文件的請求中使用的場景 ID 不正確......事實(shí)上,這是來自我們這里的示例
如果您按照此處的文檔創(chuàng)建場景,您應(yīng)該能夠在響應(yīng)中獲得場景 ID,如下所示:
{
"Photoscene": {
"photosceneid": "hcYJcrnHUsNSPII9glhVe8lRF6lFXs4NHzGqJ3zdWMU"
}
}
并且一定要在你以后的請求中引用這個....
添加回答
舉報