Загрузка файла "Запрашиваемый ресурс не существует."[-Realitycapture Autodesk] - PullRequest
0 голосов
/ 17 октября 2019

Моя проблема:

Я пишу python3 программу, которая использует request.post () вызов Autodesk Forge Reality Capture API для фото-в-3D :

https://developer.api.autodesk.com/photo-to-3d/v1/photoscene/photo-to-3d/v1/file

Однако я не могу заставить API принять мои файлы изображений, которыеЯ передаю в качестве общедоступных URL-адресов.

Можете ли вы показать мне, как это должно быть сделано?

Мой (нерабочий) PYTHON + запрашивает код:

forge_url = "https://developer.api.autodesk.com/photo-to-3d/v1/photoscene/photo-to-3d/v1/file"
headers = {'Content-type': 'application/x-www-form-urlencoded'}
image_url_list = { 'http://siptea.net/wp-content/uploads/2017/02/Persimmon-Ceramic-Teapot-Sip-Tea-4786.jpg' }

for file_url in image_url_list:
    file_parameters = {'photosceneid': photoscene_id, 'type': 'image', 'file[0]': file_url}
    print("file_parameters = ", file_parameters)
    response = requests.post(forge_url, auth=BearerAuth(access_token), headers=headers, data=file_parameters)
    json_object = response.json()
    json_string = json.dumps(json_object)
    print("json_string = ", json_string)

Мой вывод (с отображением ответа об ошибке):

file_parameters = {'photosceneid': 'bkd3x48dSl5RpcwdfWYgVfGhD0cMQPgexpLkXLbPtUU', 'type': 'image', 'image', 'image', image ', 0] ':' http://siptea.net/wp-content/uploads/2017/02/Persimmon-Ceramic-Teapot-Sip-Tea-4786.jpg'}

json_string = {"developerMessage": "Запрашиваемый ресурс не существует.", "MoreInfo": "https://forge.autodesk.com/en/docs/oauth/v2/developers_guide/error_handling/"," errorCode ":" org.mozilla. javascript.Undefined@0 "}

Следующий скрипт BASH должен быть эквивалентным, но он работает, а запрос python - нет. Что мне нужно изменить в моем коде python?

Мой (рабочий) код BASH + curl:

 file_url="http://siptea.net/wp-content/uploads/2017/02/Persimmon-Ceramic-Teapot-Sip-Tea-4786.jpg"
 json=`curl -s https://developer.api.autodesk.com/photo-to-3d/v1/file \
     -H "Authorization: Bearer $access_token" \
     -d "photosceneid=$photoscene_id" \
     -d 'type=image' \
     -d "file[0]=$file_url"

Так в чем же разница, которая приводит к сбою кода Python и работе сценария Bash

1 Ответ

0 голосов
/ 17 октября 2019

Правильный URL для размещения фотографий должен быть: https://developer.api.autodesk.com/photo-to-3d/v1/file, а не https://developer.api.autodesk.com/photo-to-3d/v1/photoscene/photo-to-3d/v1/file, поэтому ошибка 404.

Подробнее здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...