У меня возникают проблемы с тем, чтобы 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? Как вы это решили?