API简介

第三方接口,简单说,就是允许其他应用开发者调用该API允许调用的平台资源。
设置了API,就可以将表单新提交的数据推送到自己的平台,或在自己的平台查询表单提交的数据和评论。 目前支持的API如下:

  • 获取表单列表
  • 获取报表列表
  • 查询表单数据
  • 获取评论数据

API访问规则

  • 所有的数据格式为JSON
  • 所有的数据传输编码为UTF-8
  • 目前,API访问的地址来源为http://api.jsform.com/api/v1/
  • 除了数据推送API外,所有的API都需要恰当的API访问权限。目前我们仅支持HTTP Basic验证的方式。使用方法可参见:http://www.cnblogs.com/QLeelulu/archive/2009/11/22/1607898.html

获取API Key/Secret

在开始使用之前,您需要在“账户”中获取API Key/Secret,只有通过这两个参数才能获取API的访问权限。

您每次进行API调用时,都需要将API Key&Secret放到HTTP请求的Header中。例如,使用curl来获得某个表单提交的数据:

  1. curl -u 51470abd078d49c496fda859:vWXVAWXeEQKfLlerFDMD3rsekBQzU5tz --header "Content-Type:application/json" -d "{\"form_id\":\"552b4ffe0cf2ba60b5b6825b\",\"fields\":[\"field1\",\"field5\",\"field6\",\"id\"],\"order_by\":{\"field1\":1}}" --url http://api.jsform.com/api/v1/entry/query

获取Post数据示例代码

Java

  1. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  2. BufferedReader br = new BufferedReader(new InputStreamReader((ServletInputStream) request.getInputStream(),"utf-8"));
  3. String line = null;
  4. StringBuilder sb = new StringBuilder();
  5. while ((line = br.readLine()) != null) {
  6. sb.append(line);
  7. }
  8. System.out.println(sb);//将获取到的json字符串输出
  9. }

Java-SpringMVC

  1. //params即为Post过来的json对应的map
  2. @RequestMapping(value="/form/getformlist",method=RequestMethod.POST)
  3. public @ResponseBody void deleteForm(@RequestBody Map params){
  4. }

Node.js

  1. var http = require('http');
  2. var server = http.createServer(function(req,res){
  3. if(req.method=='POST'){ //用Post方法获取json字符串
  4. var items = '';
  5. req.setEncoding('utf8');
  6. req.on('data',function(chunk){
  7. items += chunk;
  8. });
  9. req.on('end',function(){
  10. res.write(items); //打印json字符串
  11. res.end();
  12. });
  13. }
  14. });
  15. server.listen(3000);

Ruby

  1. class LoveController < ApplicationController
  2. def data
  3. str = request.params /*其中str为取到的json字符串*/
  4. render(:text=>str) /*返回打印json字符串*/
  5. end
  6. end

Python

  1. from django.views.decorators.csrf import csrf_exemptfrom
  2. django.http import HttpResponse
  3. @csrf_exempt
  4. def data(request):
  5. str = request.body /*str为得到的json字符串*/
  6. return HttpResponse("%s" % str) /*返回打印json字符串*/

C#

  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Web;
  6. using System.Web.UI;
  7. using System.Web.UI.WebControls;
  8. namespace TestWeb
  9. {
  10. public partial class WebForm1
  11. {
  12. protected void Page_Load(object sender, EventArgs e)
  13. {
  14. Stream data = Request.InputStream;
  15. StreamReader sRead = new StreamReader(data);
  16. string content = sRead.ReadToEnd(); /*content为得到的json字符串*/
  17. sRead.Close();
  18. System.Diagnostics.Debug.Write(postContent); /*打印json字符串到控制台*/
  19. }
  20. }
  21. }