首页 > 解决方案 > Ckan atom feeds:在 cms 网站上观看 ckan feeds

问题描述

我想在 cms 网站上显示个性化的 ckan 提要

我有一个 django cms 网站。该网站正在使用 RSS 插件来显示 ckan 提要。目前,我正在使用此处所述的http://thedatahub.org/feeds/dataset.atom在我的 csm 网站上显示 ckan 提要。这很好用,但它显示了整个 CKAN 实例的公共提要。但我想为经过身份验证的用户显示私人提要。我正在使用跨两个网站对用户进行身份验证。django-allauth

所以我希望从 ckan 检索 ckan 提要并将其显示在 cms 插件上。我只需要用户订阅的提要,而不需要公共提要。

标签: ckan

解决方案


我找到了这个问题的解决方案。首先,我们需要正确的 API 端点来获取当前用户仪表板活动。对于我的情况,我使用了/api/3/action/dashboard_activity_list_html. 此 API 端点需要 CKAN API 密钥来验证用户。

所以这样的事情会起作用

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

推荐阅读