【问题标题】:How to enable API button for CKAN data set?如何为 CKAN 数据集启用 API 按钮?
【发布时间】:2014-01-06 05:35:30
【问题描述】:

我已成功为 CKAN 站点添加了一个数据集。它还可以预览数据集。

以下是数据集的网址

testckan.com:5000/dataset/my-data1/resource/4c2647ca-a4ab-4d20-8119-5c3da9d4ae14

如下所示,通过将api/rest/ 添加到 URL 中,可以将数据集公开为 JSON 服务。

testckan.com:5000/api/rest/dataset/my-data1/resource/4c2647ca-a4ab-4d20-8119-5c3da9d4ae14

我想要做的就是添加一个按钮,以便用户可以将数据集查看为 JSON,而不是在不友好的 URL 中键入它。

我在

中看到过类似的按钮
http://data.gov.uk/dataset/bona-vacantia-estates-advertisements

在 API 和应用程序下。请看下图。

如何为上述CKAN数据集启用API按钮?

【问题讨论】:

    标签: json api dataset ckan opendata


    【解决方案1】:

    您必须修改包(又名数据集)视图的前端模板。您可以将此更改添加到您自己的 CKAN 源代码副本中,或者像 Hendrik 提到的和 data.gov.uk 人所做的那样,创建一个 CKAN extension 来修改模板。

    您的功能示例是为 data.gov.uk 网站实现的,该网站是开源的,在 GitHub 中可用。具体部分在read_common.html

    <b>API: </b><a href="${h.url_for(controller='api', register='package', action='show', id=c.pkg.name, ver='2')}">
    ${h.url_for(controller='api', register='package', action='show', id=c.pkg.name, ver='2')}
    </a>
    

    url_for function 来自 ckan.lib.helpers 模块,根据 CKAN 文档,该模块“可用于模板作为 'h'”,因此您应该能够像上面的代码一样直接在模板中使用它.

    【讨论】:

    【解决方案2】:

    AFAIK 不是 CKAN 本身的功能,因此无法启用。但是,您可以自己轻松地将其添加到扩展程序中。

    【讨论】:

    • 如果可以的话,请至少解释一下如何完成它。
    猜你喜欢
    • 1970-01-01
    • 2015-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-27
    相关资源
    最近更新 更多