Asp.net Webforms:为 typeform 创建 webhook 接收器

Tou*_*Dev 2 asp.net webforms webhooks typeform

我如何使用 Typeform 的 asp.net Web 表单制作 webhook 接收器,以及每当有人提交我的表单时我如何获取我的应用程序上的数据。

Mar*_*ark 5

为了公开端点以接收 POST 请求,我将创建一个 HTTP 处理程序,在 ASP.NET 世界中,称为“通用 Web 处理程序”,它是一个扩展名为 .ashx 的文件。

您可以在此处查看有关如何创建指南: https: //briancaos.wordpress.com/2009/02/13/the-ashx-extension-writing-your-own-httphandler/

实现可能看起来像这样:

using System.Web;
using Newtonsoft.Json.Linq; // From https://www.newtonsoft.com/json

namespace MyNamespace
{
  public class MyClass : IHttpHandler
  {
    public void ProcessRequest(HttpContext context)
    {
      string body = String.Empty;
      context.Request.InputStream.Position = 0;

      using (var inputStream = new StreamReader(context.Request.InputStream))
      {
          body = inputStream.ReadToEnd();
      }

      dynamic json = JObject.Parse(body);

      // Access the webhook payload data ie, get first answer:
      var answers = json.form_response.answers;
      Console.WriteLine(answers)

      context.Response.StatusCode = 200;
      context.Response.End();
    }

    public bool IsReusable
    {
      get { return true; }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

您可以在此处找到不同 HTTP 处理程序的完整概述: https://msdn.microsoft.com/en-us/library/bb398986.aspx ?f=255&MSPPError=-2147217396