Widgetからアクションテーブルにアクセスする
アクションテーブルに格納されたレコードは、接客アクションで配信されるWidgetから参照、書き込みすることができます。
詳細はリファレンスをご覧ください。
アクションテーブル側のパーミッション設定
アクセス先アクションテーブルの「設定」画面から、適切なパーミッションを設定してください。
以下の2つの設定があります。
- Widgetからの参照
- Widgetからの書き込み
Widgetからの参照
WidgetのJavaScript内からレコードを取得する方法には、以下の2種類あります。
- 主キーを指定してレコード取得する
- アクションテーブルクエリを使ってレコード取得する
参照先アクションテーブルの「Widgetからの参照」を有効にしてください。
Widgetからの参照を有効化する場合の注意事項
参照を有効化した場合、ブラウザからアクションテーブル内のデータが参照可能になります。
個人情報など、機密性の高い情報を扱うアクションテーブルは有効化しないようお気をつけ下さい。
有効化するのは、公開しても問題ない情報が入っているアクションテーブルのみにして下さい。
主キーを指定してレコード取得する
取得するレコードの主キーを指定できる場合は、以下のように参照します。
var table = widget.collection('v2/table001') // table001は、tableId
table.get('a001', function(err, item){
if (err) console.error(err);
console.log(item);
});
// 複数の主キーを同時に問い合わせることもできます
table.get(['a001', 'a002'], function(err, items){
if (err) console.error(err);
console.log(items);
});
アクションテーブルクエリを使ってレコード取得する
「アクションテーブルクエリ」を呼び出すことで、より複雑な条件を指定してレコード取得することができます。
なお、アクションテーブルクエリの作成については、こちらのページをご覧ください。
var table = widget.collection('v2/table001');
var params = { item_category: 'fruit' }; // クエリに渡すパラメータ
table.getByQuery('query001', params, function(err, items){
if (err) console.error(err);
console.log(items);
});
Widgetからの書き込み
WidgetのJavaScript内からデータを追加、更新(UPSERT)することができます。
更新先アクションテーブルの「Widgetからの書き込み」を有効にしてください。
var table = widget.collection('v2/table001'); // table001は、tableId
var item = { name: 'foo' };
table
.query('a001') // 更新対象レコードの主キーの値
.set(item, function(err){ // 更新対象レコードのnameを'foo'に更新する
if (err) console.error(err);
});
// 第1引数を主キーの値、第2引数を更新対象フィールドを含むオブジェクトにして更新することもできます
// 指定した主キーに該当するレコードが無い場合は、新規に挿入されます
table
.set('a001', item, function(err){ // 更新対象レコードのnameを'foo'に更新する
if (err) console.error(err);
});
// フィールドを指定して更新することもできます
table
.query('a001') // 更新対象レコードの主キーの値
.field('name') // 更新対象セルのカラム名
.set('foo', function(err){ // 更新対象レコードのnameを'foo'に更新する
if (err) console.error(err);
});
Widgetからの書き込みを有効化する場合の注意事項
書き込みを有効化した場合、ブラウザからアクションテーブル内の任意のデータに対して書き込み可能となります。
Updated 10 months ago