【问题标题】:Creating an API from typeform for Python [closed]从 Python 的 typeform 创建 API [关闭]
【发布时间】:2020-01-15 11:17:22
【问题描述】:

我对编码非常陌生,尤其是在 API 方面。我正在尝试在 typeform 和 python 之间创建一个链接,所以当有人提交他们的表单时,我可以处理他们的信息。例如,当有人提交表单时,我想将问题 1 分配给 varible1,将问题 2 分配给 variable2,然后进行一些计算,例如 varible1/varible2 = varible3。最终,我想将这些数据发送到其他地方,例如 google sheet 和 Databox。但现在,我只是尝试连接 python 和 typeform。

【问题讨论】:

  • 到目前为止你尝试过什么?贴一些代码示例

标签: python api typeform


【解决方案1】:

Typeform 有网络钩子——这就是你要找的东西。

https://developer.typeform.com/webhooks/

所以在每次提交表单时 - 你配置的钩子都会被调用。

在您的情况下,您希望挂钩是您可公开访问的 python 脚本。

typeform 中填写的所有值都将以 json 格式提供——然后您可以在服务器端 python 脚本中执行所需的计算——然后发布到其他系统/db。

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    正如 Mayank 指出的那样,您可能正在寻求使用称为 Webhook 的东西。

    Webhook 是应用程序在事件发生时通知另一个应用程序(在这种情况下是您的应用程序)的一种方式,在这种情况下,对 typeform 的响应已经提交。

    想象车里的孩子们不断地问“我们到了吗?”,就像您使用 API 来检查您的表单是否有新的响应一样。

    Webhook 更像是“当我们到达目的地时请告诉我”。

    Typeform 将向您的应用发送一个 JSON 对象,其中包含提交的响应的所有详细信息。 你的 Python 必须从这个 JSON 对象中提取数据,然后决定它自己的逻辑。

    这是一个 Django 应用程序的示例,在另一个 StackOverflow question 上进行了解释

    import json
    from django.http import HttpResponse
    from django.views.decorators.csrf import csrf_exempt
    from django.views.decorators.http import require_POST
    
    @csrf_exempt
    @require_POST
    def webhook_endpoint(request):
        jsondata = request.body
        data = json.loads(jsondata)
        for answer in data['form_response']['answers']: # go through all the answers
          type = answer['type']
          print(f'answer: {answer[type]}') # print value of answers
    
    return HttpResponse(status=200)
    

    要在您的表单上激活 webhook,您需要点击 Connect > Webhooks 并在那里创建一个 webhook。 这是Typeform Help Center的更详细指南

    【讨论】:

      猜你喜欢
      • 2019-11-22
      • 2018-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-06
      • 2020-01-02
      • 2017-09-13
      • 2019-07-02
      相关资源
      最近更新 更多