通过CURL创建CKAN API Token遇授权错误,求解决方法
用curl创建CKAN API Token的解决方法
当然可以通过curl创建CKAN API Token,你遇到的授权错误主要是请求参数或认证细节的问题,以下是修正方案:
第一步:获取用户ID
api_token_create接口的user字段需要填用户的ID,不是用户名。如果不知道用户ID,先调用user_show接口查询:
curl -X POST -u 你的用户名:你的密码 http://localhost:5000/api/3/action/user_show -d '{"id": "my_user"}'
返回结果里的id字段就是你需要的用户ID。
第二步:修正curl命令
把请求体里的user替换成用户ID,同时清理转义字符和格式问题,修正后的命令如下:
curl -X POST -u 你的用户名:你的密码 \ -H "Content-Type: application/json" \ http://localhost:5000/api/3/action/api_token_create \ -d '{ "name": "我的自定义Token", "user": "这里填用户ID" }'
额外注意事项
- 确保使用的账号有创建API Token的权限:CKAN默认管理员账号具备该权限,普通用户需要管理员配置对应权限。
- 如果CKAN部署在HTTPS环境,将URL中的
http替换为https,测试环境可添加--insecure参数跳过证书验证。
内容的提问来源于stack exchange,提问作者jason
相关产品推荐
相关产品推荐

