跳到主要内容

v1 API 复制表单

API使用者,可以通过本接口,复制一个已有表单为新表单(继承样式、主题、字段)

功能免费版专业版/专业增强版企业基础版企业协作版企业高级版
复制表单✔️✔️✔️

认证方式

V1 Basic 认证方式

headers 设置

需要在请求中设置如下 headers

  • Content-Type: application/json
  • Accept: application/json
  • Authorization: 放入上一步骤生成的CODE

接口说明

  • 可以复制 自己创建 的表单;或者复制开启了「允许公开复制」的他人表单。
  • 可选地指定新表单的标题,以及放入某个文件夹。
  • 仅复制表单结构和样式,不复制数据。

接口描述

Request

POST https://jinshuju.net/api/v1/forms/FORM_TOKEN/copy

{
"name": "产品需求调研表(副本)",
"folder_token": "aZ9bQ3"
}
参数名称是否必须类型说明
FORM_TOKENString源表单 Token(URL 路径参数)
nameString新表单的标题,默认在原标题前加 [新],例如 [新]问卷调查表
folder_tokenString目标文件夹 token;设置后新表单会放入该文件夹

Response

成功时返回新建表单的完整结构(同获取单个表单结构)。

状态码

状态码说明
200复制成功
400复制过程中发生错误
401未认证
402当前套餐不支持 V1 API
403源表单已被冻结,或其创建者已被冻结
404源表单不存在;或用户无权复制;或指定的文件夹不存在/无权管理

示例代码

HTTP

POST https://jinshuju.net/api/v1/forms/$FORM_TOKEN/copy

Content-Type: application/json
Accept: application/json
Authorization: Basic BASE_64_ENCODED_CREDENTIALS

{
"name": "产品需求调研表(副本)",
"folder_token": "aZ9bQ3"
}

Python

import requests

api_key = 'YOUR_API_KEY'
api_secret = 'YOUR_API_SECRET'
form_token = 'YOUR_FORM_TOKEN'

response = requests.post(
f'https://jinshuju.net/api/v1/forms/{form_token}/copy',
auth=(api_key, api_secret),
json={"name": "产品需求调研表(副本)", "folder_token": "aZ9bQ3"}
)

print(response.text)

Ruby

require 'net/http'
require 'uri'
require 'json'

form_token = 'YOUR_FORM_TOKEN'
uri = URI.parse("https://jinshuju.net/api/v1/forms/#{form_token}/copy")
api_key = 'YOUR_API_KEY'
api_secret = 'YOUR_API_SECRET'

request = Net::HTTP::Post.new(uri, 'Content-Type' => 'application/json')
request.basic_auth(api_key, api_secret)
request.body = { name: '产品需求调研表(副本)', folder_token: 'aZ9bQ3' }.to_json

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

puts(response.body)