概要
上一篇我们首次挑战了更新时的处理!这一次,我们来接着挑战使用REST API来添加记录的处理吧!(^^)
那么,让我们来一边创建用于记录“每个用户查看了什么应用里的什么记录”的查看日志,一边来学习REST API吧!(^^♪
准备应用
首先准备以下应用,用于保存查看日志。
字段名称 | 字段类型 | 字段代码 |
---|---|---|
查看的应用的ID | 数值 | 查看的应用的ID |
查看的记录的ID | 数值 | 查看的记录的ID |
查看人 | 创建人 | 查看人 |
查看时间 | 创建时间 | 查看时间 |
请注意:用于保存查看人的字段【查看人】的类型是【创建人】。那是因为需要输出日志的其他应用的查看人=通过API将数据登记到本应用的用户。【查看时间】字段也同理。
还有一点要注意的是,不要忘记将这个应用的访问权限设为Everyone。创建之后,应用ID之后会使用到所以先记录下来。φ( ̄ー ̄ )记下记下
获取需要登记的值
以下两个需要登记到本应用的值,在插入数据时kintone将自动插入正确的值,因为不需要您做什么。
查看人(创建人)
查看时间(创建时间)
剩下两个字段是【查看的应用的ID】和【查看的记录的ID】,这两个数据放在记录详情页面显示时的事件的event对象的属性里,我们就用这个。
(function() { "use strict"; kintone.events.on('app.record.detail.show', function(event) { // 获取应用ID var appId = event.appId; // 获取记录编号 var recordId = event.recordId; alert('appId: ' + appId + ', recordId: ' + recordId); }); })();
忘记了event对象的属性的同学,请回去再复习一下第 4篇 使用记录的(详细页面篇)吧(^^)
那么,我们试着来动手做做吧。将以下脚本上传到需要收集查看日志的应用(不是刚才做的应用)中,然后打开刚才做的应用的详情页面看看吧。
上图是在第 6篇 使用表格 中创建的J爷爷的应用上执行时的结果,跟我们预想的一样正确获取了值了吧。
使用REST API
接下来,实际操作一下往应用中添加数据。需要用到kintone REST API的添加记录(POST)。在kintone的JavaScript上使用REST API需要用到kintone REST API 请求 ,首先从这个开始说起。
各参数中到底要放什么内容,根据实际中使用到的REST API而定。我们就对照着添加记录(POST)的添加记录(1条)中的内容,一个一个填进去。
pathOrUrl
参数的说明中也提到,此项要放kintone.api.url。另外,kintone的REST API如果是用于来宾空间内的应用,路径会变化,因此为了避免事后发生混乱,要养成在第2参数填写true的习惯。详情请参考获取URL(没有查询字符串)及在将来宾空间内应用的记录发布到空间内应用(日文)。
method
这次要使用的API(/k/v1/record.json),可以在同一个URL的情况下,根据请求的HTTP方法不同而执行不同的处理。
GET: 获取记录(1条)
POST: 添加记录(1条)
PUT: 更新记录(1条)
这次要做的处理是往查看日志应用中插入数据,所以使用'POST'。
params
参考着添加记录(1条)的请求属性,试着编写并发送JSON格式的参数。
至于细节,对着写好的代码来说明会比较好理解。下面就是实际做成的脚本。用于保存查看日志的应用的ID,大家根据自己环境改成实际的应用ID,然后上传到要留下日志的应用中(如果是上面的列子的话,就是上传到J爷爷的应用中)。可以在多个应用中上传。
(function() { "use strict"; kintone.events.on('app.record.detail.show', function(event) { // 获取应用ID var appId = event.appId; // 获取记录编号 var recordId = event.recordId; // 请求属性(JSON) var params = { "app": 1, // ← 请替换成实际存放日志的应用ID "record": { "查看的应用的ID": { "value": appId }, "查看的记录的ID": { "value": recordId } } }; // kintone REST API 请求 ~ 添加记录(POST) kintone.api( kintone.api.url('/k/v1/record', true), // - pathOrUrl 'POST', // - method params, // - params function(resp) { // - callback // (什么也不干) }, function(resp) { // - errback // (什么也不干) } ); }); })();
查看过记录的应用,其查看信息都被记录下来了吧。\(*^▽^*)ノ
只要理解了,就没有什么难的了。
REST API相关的便利工具
目前有几款便利的库可帮你更加轻松地执行 kintone REST API 。
使用以下库,只要调用已经帮你准备好的方法,即可便利地执行 kintone REST API ,节省代码量。除了 kintone 提供的 kintone REST API ,还有可批量处理记录的方法,以及其他一些便利的方法。
如果您想了解其使用方法,请参考以下文章。
最后
这次通过挑战具有实践意义的更新处理,第一次接触了kintone REST API的使用方法。使用REST API可以做比这个更加强大的kintone自定义。下次,将继续给大家详细解说。
Let's kintone customize\(^o^)/
该Tips在2014年6月版中进行过确认。
<<第 8篇 挑战简单的更新处理 | 第 10篇 使用REST API获取记录>>