Ckan 原子提要:在 cms 网站上观看 ckan 提要
Ckan atom feeds: watch ckan feeds on a cms website
我想在 cms 网站上显示个性化的 ckan 提要
我有一个 django cms 网站。该网站使用 RSS 插件来显示 ckan 提要。目前,我正在使用 http://thedatahub.org/feeds/dataset.atom as described here 在我的 csm 网站上显示 ckan 提要。这很好用,但它显示了整个 CKAN 实例的 public 提要。但我想为经过身份验证的用户显示私人提要。
我正在使用 django-allauth
对两个网站的用户进行身份验证。
所以我希望从 ckan 检索 ckan 提要并将其显示在 cms 插件上。我只需要用户订阅的提要,而不是 public 个提要。
我找到了解决这个问题的方法。
首先,我们需要正确的 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
我想在 cms 网站上显示个性化的 ckan 提要
我有一个 django cms 网站。该网站使用 RSS 插件来显示 ckan 提要。目前,我正在使用 http://thedatahub.org/feeds/dataset.atom as described here 在我的 csm 网站上显示 ckan 提要。这很好用,但它显示了整个 CKAN 实例的 public 提要。但我想为经过身份验证的用户显示私人提要。
我正在使用 django-allauth
对两个网站的用户进行身份验证。
所以我希望从 ckan 检索 ckan 提要并将其显示在 cms 插件上。我只需要用户订阅的提要,而不是 public 个提要。
我找到了解决这个问题的方法。
首先,我们需要正确的 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