🙌
GASでkintoneアプリのレコードを1件GETする
GAS(Google Apps Script)でkintoneアプリのレコードをGETしてみましょう👀
kintoneアプリを作る
こんなkintoneアプリ(フィールド名=フィールドコード)を準備します。
レコードも複数登録しておきましょう。
APIトークンを作っておく
こちらを参考にAPIトークンを作りましょう。
アクセス権はレコード閲覧にチェックが入っていればOK!
APIトークンはコピーしておきます。
GASのプロジェクトを作る
↓↓新しいプロジェクトボタンをクリックしてコードエディタを開きます。
↓↓コードエディタ
GASのhttpリクエストのサンプルコードを書き換える
↓こちらのページにあるPOST用のコードを参考にちょっと書き換えていきます。
書き換え前のコードの必要な部分。
// Make a GET request and log the returned content.
var response = UrlFetchApp.fetch('http://www.google.com/');
Logger.log(response.getContentText());
var options = {
'method' : 'post',
'contentType': 'application/json',
// Convert the JavaScript object to a JSON string.
'payload' : JSON.stringify(data)
};
UrlFetchApp.fetch('https://httpbin.org/post', options);
kintoneにアクセスするリクエストヘッダ
↓↓こちらを参考に
APIトークンでユーザー認証する場合はリクエストヘッダにX-Cybozu-API
を追加します。
X-Cybozu-API-Token : APIトークン
というわけで、先程のコードのoptionsを下記のように書き換えます。
const options = {
headers : {
X-Cybozu-API : APIトークン
}
};
アプリIDとレコード番号を指定する
サンプルコードのURLを書き換えます。
例えば、アプリIDが300でレコード番号が1ならこんな感じ
UrlFetchApp.fetch('https://サブドメイン.cybozu.com/k/v1/record.json?app=300&id=1', options);
取得したデータを実行ログ出力する
サンプルコードのこの辺をいじります。
// Make a GET request and log the returned content.
var response = UrlFetchApp.fetch('http://www.google.com/');
Logger.log(response.getContentText());
↓こんな感じ↓
// Make a GET request and log the returned content.
const response = UrlFetchApp.fetch('https://サブドメイン.cybozu.com/k/v1/record.json?app=300&id=1', options);
Logger.log(response.getContentText());
全体的なコード
ちょっと簡単にまとめて・・・
function GetRecord() {
// リクエストパラメータの設定
const url = 'https://サブドメイン.cybozu.com/k/v1/record.json?app=300&id=1';
const options = {
headers : {
'X-Cybozu-API-Token' : 'APIトークン',
},
};
// 取ってきたレコードのデータを表示する
const resp = UrlFetchApp.fetch(url,options);
Logger.log(resp.getContentText());
}
実行!
完成したら、「実行」か「デバッグ」をクリックしてみましょう👀
Discussion