ADN Open CIS
Сообщество программистов Autodesk в СНГ

05/04/2016

AppPackage API в AutoCAD I/O API - Часть 2

Чтобы обновить AppPackage

PUT autocad.io/us-east/v2/AppPackages('{my_id}')

Обновить apppackage.

Apppackage должен существовать. Следующий запрос добавляет описание этого AppPackage.

Пример успешного запроса:

Код - HTML: [Выделить]
  1. PUT /autocad.io/us-east/v2/AppPackages('SampleApp') HTTP/1.1
  2. Content-Type: application/json
  3. Authorization: Bearer my_token
  4. Host: autocad.io
  5. Content-Length: 1187
  6.  
  7. {
  8.     "@odata.context":"http://localhost:39284/api/v2/$metadata#AppPackages/$entity","References":[
  9.             ],"Resource":"https://acesdev.s3-us-west-2.amazonaws.com/aces-apppackages/ClientConsole-Dev/8f4cae3e-c17e-4f7a-9df9-1c4703b69889?AWSAccessKeyId=AK
  10.             IAJVT56CBNM4XOWBBA&Expires=1432146217&Signature=1L%2BUF8aGM%2BZFwjHOLsxXRDQ%2FhfY%3D","RequiredEngineVersion":"20.0","IsPublic":false,
  11.             "IsObjectEnabler":false,"Id":"SampleApp","Version":1,"Timestamp":"2015-02-11T19:15:40.835Z","Description":"This is an update"
  12. }

Пример успешного ответа:

Код - HTML: [Выделить]
  1. HTTP/1.1 204 No Content
  2. Cache-Control: no-cache
  3. Date: Mon, 12 May 2014 23:43:20 GMT
  4. Expires: -1
  5. Pragma: no-cache
  6. Server: Microsoft-IIS/8.0
  7. X-AspNet-Version: 4.0.30319
  8. X-Powered-By: ASP.NET
  9. Connection: keep-alive

Заголовки запроса

Заголовок запроса

Описание

Content-Type

– application/x-www-form-urlencoded

Authorization

- Предъявитель my_token

 PATCH  autocad.io/us-east/v2/AppPackages('{my_id} ')

Обновить apppackage. Apppackage должен существовать.

Пример успешного запроса:

Код - HTML: [Выделить]
  1. PATCH /autocad.io/us-east/v2/AppPackages('SampleApp') HTTP/1.1
  2. Content-Type: application/json
  3. Authorization: Bearer my_token
  4. Content-Length: 135
  5.  
  6. {"RequiredEngineVersion":"21.0"}

Исходные заголовки

  • Content-Type – application/x-www-form-urlencoded
  • Authorization – Предъявитель my_token
 

Пример успешного ответа:

Код - HTML: [Выделить]
  1. HTTP/1.1 204 No Content
  2. Cache-Control: no-cache
  3. Date: Mon, 12 May 2014 18:36:51 GMT
  4. Expires: -1
  5. Pragma: no-cache
  6. Server: Microsoft-IIS/8.0
  7. X-AspNet-Version: 4.0.30319
  8. X-Powered-By: ASP.NET
  9. Connection: keep-alive

Примечание: при успешном завершении Patch, он возвращает "204 No Content". В противном случае, вы получите другой статус ошибки.

Чтобы удалить AppPackage

DELETE autocad.io/us-east/v2/AppPackages('{my_id}')

Удалить конкретный apppackage

Пример успешного запроса:

Код - HTML: [Выделить]
  1. DELETE /autocad.io/us-east/v2/AppPackages('SampleApp') HTTP/1.1
  2. Authorization: Bearer my_token

Пример успешного ответа:

Код - HTML: [Выделить]
  1. HTTP/1.1 204 No Content
  2. Cache-Control: no-cache
  3. Date: Mon, 12 May 2014 19:03:40 GMT
  4. Expires: -1
  5. Pragma: no-cache
  6. Server: Microsoft-IIS/8.0
  7. X-AspNet-Version: 4.0.30319
  8. X-Powered-By: ASP.NET
  9. Connection: keep-alive

Заголовки запроса

Заголовок запроса

Описание

Authorization

- Предъявитель my_token

Примечание: при успешном завершении Delete, он возвращает "204 No Content". В противном случае, вы получите другой статус ошибки.

Чтобы получить старые версии

GET autocad.io/us-east/v2/AppPackages('{my_id}')/Operations.GetVersions

Получить все старые версии деятельности.

Если вы обновили деятельность, вы увидите предыдущие данные путём вызова этого API.

Пример успешного запроса:

Код - HTML: [Выделить]
  1. GET /autocad.io/us-east/v2/AppPackages('SampleApp')/Operations.GetVersions HTTP/1.1
  2. Authorization: Bearer my_token

Пример успешного ответа:

Код - HTML: [Выделить]
  1. HTTP/1.1 200 OK
  2. Cache-Control: no-cache
  3. Content-Type: application/json; odata.metadata=minimal; charset=utf-8
  4. Date: Wed, 20 May 2015 16:46:01 GMT
  5. Expires: -1
  6. Pragma: no-cache
  7. Server: Microsoft-IIS/8.5
  8. X-AspNet-Version: 4.0.30319
  9. X-Powered-By: ASP.NET
  10. Content-Length: 2066
  11. Connection: keep-alive
  12.  
  13. {
  14.   "@odata.context":"https://developer.api.autodesk.com/autocad.io/us-east/v2/$metadata#AppPackages","value":[
  15.         {
  16.           "@odata.context":"http://localhost:39284/api/v2/$metadata#AppPackages/$entity","References":[
  17.           ],"Resource":"https://acesdev.s3-us-west-2.amazonaws.com/aces-apppackages/ClientConsole-Dev/8f4cae3e-c17e-4f7a-9df9-1c4703b69889?AWSAccessKeyId=AK
  18.           IAJVT56CBNM4XOWBBA&Expires=1432146217&Signature=1L%2BUF8aGM%2BZFwjHOLsxXRDQ%2FhfY%3D","RequiredEngineVersion":"20.0","IsPublic":false,
  19.           "IsObjectEnabler":false,"Id":"SampleApp","Version":1,"Timestamp":"2015-02-11T19:15:40.835Z","Description":""
  20.         },
  21.         {
  22.           "@odata.context":"http://localhost:39284/api/v2/$metadata#AppPackages/$entity","References":[
  23.           ],"Resource":"https://acesdev.s3-us-west-2.amazonaws.com/aces-apppackages/ClientConsole-Dev/8f4cae3e-c17e-4f7a-9df9-1c4703b69889?AWSAccessKeyId=AK
  24.           IAJVT56CBNM4XOWBBA&Expires=1432146217&Signature=1L%2BUF8aGM%2BZFwjHOLsxXRDQ%2FhfY%3D","RequiredEngineVersion":"20.0","IsPublic":false,
  25.           "IsObjectEnabler":false,"Id":"SampleApp","Version":2,"Timestamp":"2015-02-11T19:15:40.835Z","Description":"This is an update"
  26.         }
  27.   ]
  28. }

Для установки деятельности в текущую или конкретную версию

POST autocad.io/us-east/v2/AppPackages('{my_id}')/Operations.SetVersion

Установить деятельность в указанную версию.

По умолчанию, текущая версия, которую клиент может видеть, всегда является последней версией. Но вы можете использовать этот API для отката плохого обновления. Этот API запрашивает номер версии в теле запроса HTTP.

Пример успешного запроса:

Код - HTML: [Выделить]
  1. POST /autocad.io/us-east/v2/AppPackages('SampleApp')/Operations.SetVersion HTTP/1.1
  2. Authorization: Bearer my_token
  3.     Content-Length: 13
  4.  
  5.     {"Version":1}

Пример успешного ответа:

Код - HTML: [Выделить]
  1. HTTP/1.1 200 OK
  2. Cache-Control: no-cache
  3. Date: Wed, 20 May 2015 16:52:41 GMT
  4. Expires: -1
  5. Pragma: no-cache
  6. Server: Microsoft-IIS/8.5
  7. X-AspNet-Version: 4.0.30319
  8. X-Powered-By: ASP.NET
  9. Content-Length: 0
  10. Connection: keep-alive

Заголовки запроса

Заголовок запроса

Описание

Authorization

- Предъявитель my_token

Чтобы удалить все старые версии

POST autocad.io/us-east/v2/AppPackages('{my_id}')/Operations.DeleteHistory

Этот API удалит все старые версии. Это делать не рекомендуется. Вы можете хотеть сохранить старые версии, чтобы их можно было вернуть. Этот API предназначен в основном для внутреннего использования.

Автор перевода: Дмитрий Емельянов

Обсуждение: http://adn-cis.org/forum/index.php?topic=

Опубликовано 05.04.2016