我在让 Autodesk Forge API 接受我的文件到照片场景时遇到问题。我从 API 调用中得到的错误消息是:
{"developerMessage":"Access token provided is invalid or expired.", "moreInfo": "https://forge.autodesk.com/en/docs/oauth/v2/developers_guide/error_handling/", "errorCode": ""}
这个错误让我很困惑,因为它是在我刚刚成功使用相同的 forge_access_token 创建我要添加这些文件的照片场景之后立即出现的。
而""errorCode": ""部分没有为我提供任何错误的线索。
这是我程序中的代码序列:
- 获取forge_access_token,
- 创建照片场景,然后
- 将图像文件添加到照片场景。
1. 我成功获得了一个 access_token 与此代码:
# Request for a 2-legged OAuth access token
json=`curl -s $FORGE_URL/authentication/v1/authenticate \
-d client_id=$CLIENT_ID\
-d client_secret=$CLIENT_SECRET\
-d grant_type=client_credentials\
-d scope=data:read+data:write
`
forge_access_token=`echo $json | jq -r .access_token`
echo "forge_access_token: $forge_access_token"
2.然后我在下面的代码中使用返回的forge_access_token成功请求一个新的photosceneid:
json=`curl -s $FORGE_URL/photo-to-3d/v1/photoscene \
-X 'POST' \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $forge_access_token" \
-d "scenename=$scan_id" \
-d 'scenetype=object' \
-d 'format=obj,rcm'
`
# echo $json
photosceneid=`echo $json | jq -r .Photoscene.photosceneid`
echo "Created Photoscene: $photosceneid"
3. 但是当我调用此代码将图像文件添加到这个新的照片场景时,它无法添加它们:
JPG_FILES=$scan_dir/*.jpg
i=0
for image_file in $JPG_FILES
do
file_name=`basename $image_file`
json=`curl -s $FORGE_URL/photo-to-3d/v1/file \
-H 'Authorization: Bearer $forge_access_token' \
-d 'photosceneid=$photosceneid' \
-d 'type=image' \
-d 'file[$i]=$image_file'
`
i=$((i+1))
我没有收到此错误消息:
{"developerMessage":"Access token provided is invalid or expired.", "moreInfo": "https://forge.autodesk.com/en/docs/oauth/v2/developers_guide/error_handling/", "errorCode": ""}
有没有其他 Forge Reality Capture API 用户看到过这个?你是怎么解决的?