Основы Data Management API - Аутентификация и области применения, фильтрация
Аутентификация и области применения
Data Management API требует использования предъявления токенов OAuth2. Смотрите документацию OAuth для получения дополнительной информации об аутентификации, получении токена и областях действия.
В целом, доступ к данным проекта A360 и Fusion 360 требует использования 3-legged токена OAuth2.
HTTP GET к службам Project и Data данных требуют data:read области применения.
HTTP POST к службе Data service требуют data:create области применения, но также могут быть вызваны с областью применения data:write.
Фильтрация
В соответствии со спецификацией фильтрации JSON API, многие из конечных точек служб Project и Data поддерживают фильтрацию с использованием параметра запроса filter.
Чтобы отфильтровать результаты на основе одного атрибута, соответствующего определенному значению, используйте конструкцию filter[<fieldName>]=<matchValue> для параметра запроса, где <fieldName> это ID ресурса, type, или любой из атрибутов ресурса или метаданные и <matchValue> - это значение, соответствие которому требуется. (При указании атрибута ресурса или части метаданных, имя поля не должно включать в себя attributes или префикс meta.)
Только для атрибута extension.type может быть предоставлена частичная строка соответствия, которая будет соответствовать началу строки, сформированной путем соединения extension.type и extension.version. Ограничение частичного соответствия должно быть выполнено блоками (<basetype>:<namespace>:<extensiontype>), так, например, items:autodesk не разрешено, так как пространство имен обрезано, со специальной поддержкой версии extension.type (где File=1 соответствуетFile=1.0, File=1.1, etc.).
Чтобы отфильтровать результаты на основе одного атрибута, который соответствует какому-либо одному из нескольким значениям (т.е. по логике операции "OR"), используется конструкция filter[<fieldName>]=<matchValue1>,...,<matchValueN>.
Если используется несколько параметров filter, все они должны удовлетворять соответствию (то есть, они осуществляют операцию "AND").
Конечная точка и пример фильтра Параметр запроса |
Поведение |
filter[id]=a.YnVzaW5lc3Md2lwMWZxYWF1G9kZXNrMTYx |
возвращает все hubs с указанным id |
filter[name]=MyHubName |
возвращает все hubs с name = MyHubName |
filter[extension.type]=projects:autodesk.core:Project |
возвращает все projects A360 |
filter[name]=MyProject,YourProject |
возвращает все projects с name = MyProject и все проекты с name = YourProject |
filter[extension.type]=projects:autodesk.core:Project &filter[name]=MyProject |
возвращает все projects A360 с name = MyProject |
GET projects/:project_id/folders/:folder_id/contents filter[extension.type]=items |
возвращает все items из folder |
GET projects/:project_id/folders/:folder_id/contents filter[extension.type]=items:autodesk.core:File |
возвращает все files A360 |
GET projects/:project_id/folders/:folder_id/contents filter[extension.type]=items:autodesk.core:File=1 |
возвращает все файлы A360 с основной версией = 1 |
Источник: https://developer.autodesk.com/en/docs/oauth/v2/overview/
Обсуждение: http://adn-cis.org/forum/index.php?topic=
Опубликовано 12.01.2017