跳到主要内容

v1 API 获取表单详细结构

API使用者,可以通过本接口,获取单个表单的详细接口(字段 Schema)

功能免费版专业版/专业增强版企业基础版企业协作版企业高级版
获取表单详细结构✔️✔️✔️✔️✔️

认证方式​

V1 Bearer 认证方式

headers 设置​

需要在请求中设置如下 headers

  • Content-Type: application/json
  • Accept: application/json
  • Authorization: Bearer YOUR_ACCESS_TOKEN

接口说明​

  • 个人版用户/企业子账号用户,只可以获取 自己创建 的表单。无法获取共享的表单。
  • 企业全局 API,可以获取整个企业所有的表单。

接口描述​

Request​

GET https://jinshuju.net/api/v1/forms/FORM_TOKEN
参数名称是否必须类型说明
FORM_TOKEN是String表单Token

Response​

{
"name": "产品需求调研表",
"description": "感谢您能抽出几分钟时间填写以下内容,现在我们马上开始吧!",
"fields": [
{
"field_1": {
"label": "姓名",
"type": "single_line_text",
"notes": "",
"private": false,
"validation": {}
},
},
{
"field_2": {
"label": "手机",
"type": "mobile",
"notes": "",
"private": false,
"validation": {}
}
}
],
"setting": {
"entry_submit_mode": "show_message",
"success_message": "感谢您的反馈!",
"success_redirect_url": "",
"success_redirect_fields": [],
"show_entry_on_success": false,
"manually_close_rule": { "closed": false },
"by_time_range_close_rule": null,
"by_entries_close_rule": null,
"show_close_count_down": false,
"show_form_before_open": false,
"fill_frequency": {
"fill_type": "unlimited",
"condition": "",
"cycle_period": "every_day",
"cycles_per_period": 1,
"limited_time": 1,
"limited_field_api_codes": []
},
"password_required": false,
"access_password": null,
"allowed_audience": "public",
"entry_post_url": null,
"post_new_entry": true,
"post_updated_entry": false
}
}
参数名称是否必须类型说明
name是String表单标题
description是String表单描述
fields是Array表单字段数据
field_*是String字段标识符(Key)
field_*.label是String字段标题
field_*.type是String字段类型
field_*.notes是String字段提示
field_*.private是Bool字段隐藏
field_*.validation否Object字段校验信息
setting是Object表单设置对象;字段列表与含义见表单设置 Schema。未启用的嵌套规则(如 by_time_range_close_rule)以 null 返回。

字段详细数据,请参考文档

提示:创建表单 / 编辑表单 成功时返回的响应体结构与本接口一致,因此写入后可以直接从响应中读到最新的 setting。如果只想单独读取表单设置,也可以调用 GET /api/v1/forms/FORM_TOKEN/setting。

示例代码​

伪代码​

access_token = "YOUR_ACCESS_TOKEN"

auth_header_payload = "Bearer " + access_token

headers = {"Authorization": auth_header_payload}

form_token = "YOUR_FORM_TOKEN"

http.get("https://jinshuju.net/api/v1/forms/${form_token}", headers)

HTTP​

GET https://jinshuju.net/api/v1/forms/$FORM_TOKEN

Content-Type: application/json
Accept: application/json
Authorization: Bearer YOUR_ACCESS_TOKEN

Postman​

GET https://jinshuju.net/api/v1/forms/$FORM_TOKEN

authorization 选择 `Bearer Token`

Token 输入 Access Token

Java​

package net.jinshuju.v1api.demo;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class GetFormService {

public void run(String accessToken, String formToken) throws IOException {
String authHeaderPayload = "Bearer " + accessToken;

BufferedReader httpResponseReader = null;
try {
URL apiEndpointUrl = new URL("https://jinshuju.net/api/v1/forms/" + formToken);
HttpURLConnection urlConnection = (HttpURLConnection) apiEndpointUrl.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.addRequestProperty("Authorization", authHeaderPayload);

httpResponseReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(), "UTF-8"));
String lineRead;
while ((lineRead = httpResponseReader.readLine()) != null) {
System.out.println(lineRead);
}
} finally {
if (httpResponseReader != null) {
try {
httpResponseReader.close();
} catch (IOException ignored) {
}
}
}
}

}

Python​

import requests

access_token = 'YOUR_ACCESS_TOKEN'

form_token = 'YOUR_FORM_TOKEN'

api_endpoint_url = 'https://jinshuju.net/api/v1/forms/' + form_token

response = requests.get(api_endpoint_url, headers = {'Authorization': f'Bearer {access_token}'})

print(response.text)

Ruby​

require 'net/http'
require 'uri'

form_token = 'YOUR_FORM_TOKEN'

uri = URI.parse("https://jinshuju.net/api/v1/forms/#{form_token}")
access_token = 'YOUR_ACCESS_TOKEN'

request = Net::HTTP::Get.new(uri)
request['Authorization'] = "Bearer #{access_token}"

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end

puts(response.body)