Я хотел бы спросить, как я могу расширить API CKAN, написав собственное расширение для CKAN. Я не мог найти ничего в документации. Не могли бы вы привести простой пример?Как я могу расширить API CKAN?
4
A
ответ
8
В защите ОП документация выглядит немного непрозрачной. Я смотрел на это в попытке получить действие пользовательского API для подачи JSON ленты новостей на работу, и, наконец, пришел с этим:
import ckan.plugins as plugins
import ckan.plugins.toolkit as toolkit
# Required so that GET requests work
@toolkit.side_effect_free
def get_news(context,data_dict=None):
# The actual custom API method
return {"hello":"world"}
class CustomAPIPlugin(plugins.SingletonPlugin):
plugins.implements(plugins.interfaces.IActions)
def get_actions(self):
# Registers the custom API method defined above
return {'get_news': get_news}
В учебнике, который описывает создание плагина аутентификации здесь:
http://docs.ckan.org/en/latest/extensions/tutorial.html#creating-a-new-extension
что я сделал это плагиатом, но с использованием IActions, а не IAuthFunctions:
http://docs.ckan.org/en/latest/extensions/plugin-interfaces.html
Работает над установкой CKAN 2.2.1.
+0
хороший пример, спасибо за защиту. – Kapucko
Смежные вопросы
- 1. как я могу установить расширение datastore ckan
- 2. Как я могу расширить wx.grid.GridCellRenderer?
- 3. Как я могу расширить CachedDataAnnotationsModelMetadataProvider?
- 4. Как я могу расширить Zend_Controller_Request_Http
- 5. Как я могу расширить DataAnnotationsModelMetadata
- 6. CKAN user_role_update API call
- 7. Как я могу расширить API Magento для sales_order.info
- 8. CKAN Filedownload с API
- 9. CKAN resource_create API
- 10. Как я могу получить информацию об авторе от CKAN?
- 11. Где я могу расширить AsyncTask?
- 12. Могу ли я расширить категорию?
- 13. как я могу расширить вид в swift
- 14. Как я могу расширить PHP DOMElement?
- 15. Как я могу расширить UserController в Spree?
- 16. Как я могу расширить поле класса?
- 17. Транспортир: Как я могу расширить библиотеку транспортиров?
- 18. Как я могу расширить аргументы в Java?
- 19. Как я могу расширить панель закладок?
- 20. Как я могу правильно расширить JS-объект?
- 21. Как я могу расширить объект javascript?
- 22. Как я могу расширить расширение переменных?
- 23. Как я могу реорганизовать/расширить следующую модель
- 24. Как я могу расширить поток Node
- 25. Как я могу расширить декоратор библиотеки?
- 26. Как я могу расширить функцию карусели Slick?
- 27. Как я могу расширить параметры jQuery ajaxSetup?
- 28. CKAN API ВЫПУСК с organisation_show
- 29. Могу ли я расширить встроенную функцию PHP?
- 30. Как отключить выполнение функции API CKAN package_relationship_create без ключа API?
Не могли бы вы дать мне точную ссылку, пожалуйста? – Kapucko
Я хочу иметь возможность называть что-то вроде: http: //myckan.org/api/3/action/myaction? Par1 = .... – Kapucko