1. はじめに
kintoneのアプリ設定を手動で更新するのは時間がかかりますが、REST APIを使えば簡単に自動化できます。このブログでは、JavaScriptを使ってkintoneのアプリ設定を取得・更新する方法を解説します。
🌟プラグイン無料お試しのお知らせ🌟
kintoneユーザーの皆さん!
エムザスのkintoneプラグインはもう試しましたか?🤔
エムザスでは以下のようなプラグインを開発しています!👇
デモ環境で、ほとんどの機能が今すぐお試しいただけます✨
さらに、お客様のドメインで無料で3ヶ月間、すべての機能を試すこともできます!🎉
それでは、本題に入ります!
2. 前提条件
- kintoneのアプリ管理者権限
- APIトークンの取得
- Node.js環境(またはブラウザでの実行環境)
3. 必要なAPIエンドポイント
- 設定取得:
GET /k/v1/app/form/fields.json
- 設定更新:
PUT /k/v1/preview/app/form/fields.json
- デプロイ:
POST /k/v1/preview/app/deploy.json
4. サンプルコード
以下は、Node.jsを使ってkintoneのアプリ設定を取得し、更新するサンプルコードです。
4.1 ライブラリのインストール
まず、axios
ライブラリをインストールします。
npm install axios
4.2 設定を取得するコード
const axios = require('axios');
const SUBDOMAIN = 'your-subdomain'; // kintoneのサブドメイン
const APP_ID = 1; // アプリID
const API_TOKEN = 'your-api-token'; // APIトークン
const getAppSettings = async () => {
const url = `https://${SUBDOMAIN}.cybozu.com/k/v1/app/form/fields.json?app=${APP_ID}`;
const headers = {
'X-Cybozu-API-Token': API_TOKEN,
};
try {
const response = await axios.get(url, { headers });
console.log('アプリ設定:', response.data);
return response.data;
} catch (error) {
console.error('エラーが発生しました:', error.response.data);
}
};
getAppSettings();
4.3 設定を更新するコード
const updateAppSettings = async (fields) => {
const url = `https://${SUBDOMAIN}.cybozu.com/k/v1/preview/app/form/fields.json?app=${APP_ID}`;
const headers = {
'X-Cybozu-API-Token': API_TOKEN,
'Content-Type': 'application/json',
};
try {
const response = await axios.put(url, { app: APP_ID, properties: fields }, { headers });
console.log('更新成功:', response.data);
} catch (error) {
console.error('エラーが発生しました:', error.response.data);
}
};
// 例: 新しいフィールドを追加
const newFields = {
'新しいフィールド': {
type: 'SINGLE_LINE_TEXT',
label: '新しいフィールド',
code: 'new_field',
},
};
// 既存の設定を取得し、新しいフィールドを追加
getAppSettings().then((currentSettings) => {
const updatedFields = { ...currentSettings.properties, ...newFields };
updateAppSettings(updatedFields);
});
4.4 プレビュー環境から本番環境にデプロイ
const deployApp = async () => {
const url = `https://${SUBDOMAIN}.cybozu.com/k/v1/preview/app/deploy.json`;
const headers = {
'X-Cybozu-API-Token': API_TOKEN,
'Content-Type': 'application/json',
};
const data = {
apps: [{ app: APP_ID }],
revert: false,
};
try {
const response = await axios.post(url, data, { headers });
console.log('デプロイ成功:', response.data);
} catch (error) {
console.error('エラーが発生しました:', error.response.data);
}
};
deployApp();
5. コードの解説
- 設定取得:
getAppSettings
関数で現在のアプリ設定を取得します。 - 設定更新:
updateAppSettings
関数で新しいフィールドを追加します。 - デプロイ:
deployApp
関数でプレビュー環境の変更を本番環境に反映します。
6. よくあるエラーと対処法
- 403エラー: APIトークンや権限を確認してください。
- 400エラー: リクエストボディのフォーマットが正しいか確認してください。
7. まとめ
kintone REST APIを使えば、JavaScriptで簡単にアプリ設定を自動化できます。このサンプルコードを参考に、ぜひ自分のプロジェクトに活用してください!