首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Kobo将数据发布到kobotoolbox表单?

如何使用Kobo将数据发布到kobotoolbox表单?
EN

Stack Overflow用户
提问于 2019-06-16 20:26:57
回答 1查看 1.3K关注 0票数 0

我正在使用kobo,我可以通过API从表单和提交的数据中获取结构的信息,但是当我试图通过POST服务向表单发送数据时,kobo返回以下消息:“例如,您的数据还没有提交。”

是否有任何方法使用它的API将POST数据发送到kobotoolbox表单?

我试图通过以下POST请求发送数据:

代码语言:javascript
复制
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \
  "name": "Foo" \
}' 'https://kf.kobotoolbox.org/assets/{form_id}/submissions/'

其中,{form_id}是我的表单在kobotoolbox中的id。

他们的反应是:

代码语言:javascript
复制
{
  "detail": "Your data for instance None has been already submitted."
}
EN

回答 1

Stack Overflow用户

发布于 2019-10-04 14:35:14

要提交数据,需要将数据发布到https://[kobocat url]/api/v1/submissions,例如https://kc.kobotoolbox.org/api/v1/submissions。您尝试的端点用于检索已提交的数据。

这将起作用(对于包含first_namelast_name问题的表单:

代码语言:javascript
复制
curl -X POST \
  https://kc.kobotoolbox.org/api/v1/submissions.json \
  -H 'Authorization: Token <yourAPItoken>' \
  -H 'Content-Type: application/json' \
  -d '    {
        "id": "<kpi asset ID>",
        "submission":

            {
                "last_name": "Suresh",
                "first_name":"Ameen",
                "meta": {
                    "instanceID": "uuid:8992c3c2-3418-4ba9-a8e2-b00e03ea36b6"
                }

            }
    } '

在本例中,<kpi asset ID>指的是在kobocat中创建的唯一表单ID。这个ID应该与kpi资产ID相同,只要您在常规接口中上传/创建表单并部署它。

您可以通过转到https://kf.kobotoolbox.org/assets/<kpi asset ID>/找到ID。就我而言,我明白了:

代码语言:javascript
复制
{
    "url": "https://kf.kobotoolbox.org/assets/aCNoKPdCX8gqcu4bHrHkUL/",
...
    "deployment__identifier": "https://kc.kobotoolbox.org/<username>/forms/aCNoKPdCX8gqcu4bHrHkUL",
...
    "uid": "aCNoKPdCX8gqcu4bHrHkUL",

    ]
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56622371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档