免登录账户
<h1>1、免登录接口</h1>
<h2>介绍</h2>
<p>即单点登录接口,此接口适用于在已有用户体系下,用户可以在已有系统中点击问卷调查的模块即可直接使用问卷星的所有功能,无需另外再注册登录问卷星。</p>
<h2>接口说明</h2>
<p>请求方式:<code>get</code></p>
<p>加密链接参数如下:</p>
<p><code>https://www.wjx.cn/partner/login.aspx?appid=&username=&mobile=&subuser=&ts=&sign=</code></p>
<table>
<thead>
<tr>
<th style="text-align: left;">字段</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">subuser</td>
<td style="text-align: left;">子账户参数,从属于username(可以被username用户进行管理),可选</td>
</tr>
</tbody>
</table>
<p>sign计算方法:</p>
<pre><code class="language-csharp">sign = sha1(appid+appkey+username+mobile+subuser+ts)</code></pre>
<p>如页面返回信息:签名错误! 请检查<code>sign</code>计算是否正确。</p>
<p>提示:如果需要在<code>iframe</code>中使用免登录接口,由于<code>safari</code>浏览器对<code>cookie</code>的限制,必须使用<code>JS</code>脚本的方式进行嵌入: </p>
<pre><code class="language-javascript"> <script type='text/javascript' src='https://www.wjx.cn/handler/loginemed.ashx?url={url}&width=100%&height=100%'></script></code></pre>
<p><code>src</code>中需要有<code>3</code>个参数:</p>
<p>{url}参数请使用<code>https://www.wjx.cn/partner/login.aspx?appid=&username=&mobile=&ts=&sign=进行替换。width和height参数可选,默认为100%</code>。</p>
<h1>2、用户端接口</h1>
<h2>介绍</h2>
<p>使用该接口,做为填写者的用户登录之后,可看到一个完善的填写者后台页面,查看到自己需要作答哪些问卷、已经完成了哪些问卷、积分排行等等信息。</p>
<h2>接口说明</h2>
<p>请求方式:<code>get</code></p>
<p>加密链接参数如下:</p>
<p><code>http://www.wjx.cn/partner/qlist.aspx?appid=&username=&joiner=&realname=&dept=&extf=&ts=&sign=</code></p>
<p>sign计算方法:</p>
<pre><code class="language-csharp">sign = sha1(appid+appkey+username+joiner+realname+dept+extf+ts)</code></pre>
<p>获取答题者单独列表接口(参数跟上面的一样):
格式:<code>JSON</code>
a) 获取填写者的待参与列表:
地址:<code>https://www.wjx.cn/partner/getqlist.aspx?appid=&username=&joiner=&realname=&dept=&extf=&ts=&sign=</code>
sign计算方法:</p>
<pre><code class="language-csharp">sign = sha1(appid+appkey+username+joiner+realname+dept+extf+ts)</code></pre>
<p>b) 获取填写者的已参与列表:
地址:<code>https://www.wjx.cn/partner/getqlistjoin.aspx?appid=&username=&joiner=&realname=&dept=&extf=&ts=&sign=</code></p>
<p>sign计算方法:</p>
<pre><code class="language-csharp">sign = sha1(appid+appkey+username+joiner+realname+dept+extf+ts)
</code></pre>
<p>c) 获取单份答卷详情链接:
地址:<code>https://www.wjx.cn/partner/joinrelquery.aspx?appid=&username=&joiner=&activity=&joinid=&realname=&dept=&extf=&ts=&sign=</code></p>
<p>sign计算方法:</p>
<pre><code class="language-csharp">sign = sha1(appid+appkey+username+joiner+activity+joinid+realname+dept+extf+ts)</code></pre>
<p>d) 自主拼接用户的单个问卷访问链接:</p>
<p>1、使用a) 获取填写者的待参与列表,提取单个问卷的访问链接,记录为<code>ActivityUrl</code>;</p>
<p>2、替换<code>ActivityUrl</code>中的<code>ts</code>为当前时间;</p>
<p>3、重新计算并替换<code>partersign</code>的值;</p>
<pre><code class="language-csharp">partersign = sha1(appid+appkey+username+joiner+realname+dept+extf+ts)</code></pre>
<h1>3、获取管理员名下的问卷列表</h1>
<h2>介绍</h2>
<p>通过此接口,可以获取某一个问卷管理员名下的的问卷列表。</p>
<p>数据获取方式:<code>get</code></p>
<h2>接口说明</h2>
<p>加密链接参数如下:</p>
<p><code>http://www.wjx.cn/partner/getuserq.aspx?appid=&username=&ts=&folder=&sign=</code></p>
<table>
<thead>
<tr>
<th style="text-align: left;">字段</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">appid</td>
<td style="text-align: left;">由问卷星分配</td>
</tr>
<tr>
<td style="text-align: left;">appkey</td>
<td style="text-align: left;">由问卷星分配</td>
</tr>
<tr>
<td style="text-align: left;">folder</td>
<td style="text-align: left;">用户名下的问卷文件夹名称。如加了该参数,则只会获取到指定文件夹里面的问卷数据,如果需要全部问卷数据,可以不加</td>
</tr>
<tr>
<td style="text-align: left;">ts</td>
<td style="text-align: left;">为按秒计数的当前时间戳,通常对应time()函数,系统确认ts是在30s内,并且sign一致,就会自动登录</td>
</tr>
<tr>
<td style="text-align: left;">username</td>
<td style="text-align: left;">使用者的用户名或用户ID,由用户自己生成</td>
</tr>
</tbody>
</table>
<p><code>sign</code>计算方法:</p>
<pre><code class="language-csharp">sign = sha1(appid+appkey+username+ts+folder)</code></pre>
<p>提示:此接口会有<code>10</code>分钟的缓存时间,新增的问卷可能需要<code>10</code>分钟以后才能获取。</p>
<p>数据格式:<code>JSON</code></p>
<p>数据示例: </p>
<pre><code class="language-csharp">[
{
"qid": "89767",
"name": "新考试",
"begindate": "2017-08-20 11:52:43",
"answercount": "5"
},
{
"qid": "89819",
"name": "考试",
"begindate": "2017-08-18 21:21:35",
"answercount": "4"
}
]</code></pre>
<h1>4、获取答卷数据API</h1>
<h2>介绍</h2>
<p>通过此接口可以直接会获取所有参与者的得分数据,包括:提交序号、参与者姓名、总分、提交时间、提交所用时间。只有答卷总数少于<code>20000</code>才能使用此接口。</p>
<p>数据获取方式:<code>get</code></p>
<h2>接口说明</h2>
<p>加密链接参数如下:</p>
<p><code>http://www.wjx.cn/partner/getjoinlist.aspx?appid=&activity=&ts=&sign=&pageindex=&pagesize=</code></p>
<table>
<thead>
<tr>
<th style="text-align: left;">字段</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">appid</td>
<td style="text-align: left;">由问卷星分配</td>
</tr>
<tr>
<td style="text-align: left;">appkey</td>
<td style="text-align: left;">由问卷星分配</td>
</tr>
<tr>
<td style="text-align: left;">activity</td>
<td style="text-align: left;">表示问卷的ID</td>
</tr>
<tr>
<td style="text-align: left;">ts</td>
<td style="text-align: left;">为按秒计数的当前时间戳,通常对应time()函数,系统确认ts是在30s内,并且sign一致,才能获取</td>
</tr>
<tr>
<td style="text-align: left;">pageindex</td>
<td style="text-align: left;">页码序号</td>
</tr>
<tr>
<td style="text-align: left;">pagesize</td>
<td style="text-align: left;">每页数量,默认10条数据,每页最多不超过1000条数据</td>
</tr>
</tbody>
</table>
<p><code>sign</code>计算方法:</p>
<pre><code class="language-csharp">sign = sha1(appid+appkey+activity+ts)</code></pre>
<p>数据格式:<code>JSON</code></p>
<p>数据示例:</p>
<pre><code class="language-csharp">[
{
"parterjoiner": "test2",
"totalvalue": "15",
"index": "3",
"timetaken": "8",
"submittime": "2017-08-20 14:25:39"
},
{
"parterjoiner": "test3",
"totalvalue": "15",
"index": "4",
"timetaken": "141",
"submittime": "2017-08-20 14:38:55"
}
]</code></pre>
<h1>6、设置完成问卷后跳转并且有自定义链接参数时,考试会自动带上分数</h1>
<h2>介绍</h2>
<p>为防止用户修改分数,系统除了会传递<code>totalvalue</code>参数外,还会传递<code>valuesign</code>参数。
<code>valuesign</code>的计算方式为:</p>
<pre><code class="language-csharp">valuesign = sha1(totalvalue+"asfw8aslfda899asfdaweasd")</code></pre>
<p>示例:如果用户得分为77.5分,那么参数值为sha1(77.5asfw8aslfda899asfdaweasd)</p>