Каналы Ckan Atom: смотрите каналы Ckan на веб-сайте CMS - PullRequest
0 голосов
/ 12 июня 2019

Я хотел бы отобразить персонализированные каналы ckan на веб-сайте cms

У меня есть веб-сайт Django CMS. Сайт использует RSS-плагин для отображения каналов ckan. В настоящее время я использую http://thedatahub.org/feeds/dataset.atom, как описано здесь , чтобы показать канал ckan на моем веб-сайте csm. Это хорошо работает, но показывает общедоступный канал для всего экземпляра CKAN. Но я хотел бы показать приватный канал для аутентифицированного пользователя. Я использую django-allauth для аутентификации пользователей на двух сайтах.

Итак, я ожидаю получить каналы ckan из ckan и отобразить их в плагине cms. Мне нужны только каналы, на которые подписан пользователь, а не общедоступные.

1 Ответ

0 голосов
/ 03 июля 2019

Я нашел решение этого вопроса.Во-первых, нам нужна правильная конечная точка API для получения текущих действий панели пользователя.Для моего случая я использовал /api/3/action/dashboard_activity_list_html.Этой конечной точке API требуется ключ API CKAN для аутентификации пользователя.

Так что-то вроде этого будет работать

from urllib.request import Request, urlopen
api_url_base = (
        "https://myurl/api/3/action/dashboard_activity_list_html"
    )
req = Request(api_url_base)
req.add_header("Authorization", api_key)
with urlopen(req) as response:
    response_body = response.read()
return response_body
...