微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何查看CKAN实体的ID和“名称”将在API更新调用中使用?

如何解决如何查看CKAN实体的ID和“名称”将在API更新调用中使用?

在查看用于更新程序包,组,组织或用户的API时,我看到输入参数之一是

id(字符串)–要更新的用户名称或ID

https://docs.ckan.org/en/2.9/api/index.html#ckan.logic.action.update.package_update)。我可以看到CKAN用户/组织/软件包的“ id”的不同方式是什么? “名称”?

这些ID只是我在更新组织时看到的CKAN对象的URL组件吗?例如...

enter image description here

仅通过查看此处的api文档https://docs.ckan.org/en/2.9/api/index.html#ckan.logic.action.update.resource_update)和此处的较早的示例(https://docs.ckan.org/en/ckan-1.7.2/api-tutorial.html),这些ID似乎就是UUID,但是我不知道如何从这些值中了解这些值CKAN Web UI。当我在Web UI中查看数据集/数据包时,“名称”是显示名称吗?还是在查看“数据包”时如URL所示显示名称(如上图所示)?

有人能对此提供更多的清晰度吗?这是在文档中的某个地方解释的吗?

解决方法

这取决于您查找的ID /名称,您可以查询或列出它们,我在ckan 2.8+上使用rest api:

organizations:
ckan-server:5000/api/action/organization_list

groups:
ckan-server:5000/api/action/group_list

packge: 
ckan-server:5000/api/action/package_search

您需要使用api_key设置标头(即将弃用)。

还有一些api调用支持名称而不是id,因此,如果您愿意更新任何名称,则在请求时按名称进行寻址。

最好是先按名称或部分名称搜索,然后从响应中提取ID。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。