backend(mBaaS)。ScriptGoogleスプレッドシートを使っている方は多いかと思います。その利用用途の一つに、マスターデータやキャラクターデータを管理するケースもあるでしょう。作成したデータをCSVにしてmBaaSにインポートしている方もいるのではないでしょうか。CSVインポートだとobjectIdが書き換わってしまう問題があったり、かといってコピー&ペーストでデータをメンテナンスするのはとても面倒です。Script用SDKを使ってマスターメンテナンスを手軽に行えるようにしました。このメリットとしては例えば以下が挙げられます。ライブラリのインストール仕様プロパティを追加コードの作成クラスの同期データの並び替えができるカラムの並び替えができる他のシート、セルの値を計算しながら使える(あるセルの7日後など)ポインターの修正ができるライブラリのインストールGoogleスプレッドシートのツールメニューにあるスクリプトエディタを選択します。スクリプトエディタのリソースメニューにあるライブラリを選択します。出てきたモーダルウィンドウで、ライブラリ追加の入力欄に「1yWnb7GfYsBCR-MZvi6r-TOYv_y-AV4le5P7kaG5B3iZ5VNnSk9Q55pSJ」と入力して追加ボタンを押してください。NCMBというタイトルでライブラリが追加されます。バージョンは24以降の最新版を選んでください。これでSDKが使えるようになります。今回紹介するコードの仕様は次のようになっています。各シート名はmBaaSのクラス名に相当します各シートの一行目はクラスのカラム名としますカラム名にcreateDate/updateDate/aclは使えませんobjectIdはA列にあることとします計算式は使えますが、A列を参照していると(つまりobjectId)、自動的にポインターになりますGoogleスプレッドシートを真として扱います。データを更新後、スプレッドシートにないmBaaSのデータは削除されますデータストア側のデータは1000件まで取得します。ページネーションに対応していないので1000件を越えるデータメンテナンスには対応していませんプロパティを追加スクリプトエディタにて、ファイルメニューのプロジェクトのプロパティを選択します。その中のスクリプトのプロパティにて、項目を追加します。これはアプリケーションキーや認証情報をハードコーディングしないよう、環境変数化する機能です。APPLICATION_KEYアプリケーションキーCLIENT_KEYクライアントキーUSER_NAMEメンテナンスを行うユーザ名PASSWORDメンテナンスを行うユーザのパスワード認証を必ず行います。認証していないと認証していないユーザでも書き込み権限がついたデータになってしまうからです。コードの作成Googleスプレッドシートのスクリプトエディタに関数を追加します。先ほど登録した環境変数を呼び出します。関数(これから作ります)を処理していきます。処理対象にするシートを作る場合には命名規則を設けるなどして工夫してください。クラスの同期クラスの同期処理です。クラス名やカラムをシートから取得します。:}次にデータの更新および登録処理を行います。注意点としては、関数が埋め込まれていて、かつそれがobjectIdだけを参照している場合にはポインターにしています。今回はAdminというロールに読み書き権限を設定していますので、ここは各アプリの設定に合わせて変更してください。ACLは決め打ちです。1;}ここで処理したデータは削除対象外になります。最後に現在データストアにあるデータを取得し、処理対象でなかったデータを削除します。}}これで処理完了です。全体のコードはGistにアップロードしてありますので参考にしてください。このコードを使うことで、Googleスプレッドシートを使ったマスタメンテナンスが可能になります。ポインターは管理画面でも編集しづらいですが(ポインターを修正できるブックマークレットを作りました)、Googleスプレッドシートからであれば簡単に修正できます(他のシートを参照するだけです)。皆さんのアプリ運用にお役立てください。篤司NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。Scriptで使えるNCMBライブラリを作成しています。Service)とは、スマートフォンアプリでよく利用される汎用的な機能をSDKとクラウドから提供するサービスです。backendのちょっと便利な使いかた・非公式SDKやアプリ開発の関連情報などをお届けするブログです。※記事内には、サポート対象外の内容も含みます。本ブログではコメント機能を公開しておりません。アプリ開発を行う上での課題解決には、ユーザーコミュニティやもくもく会などもご活用ください。LIMITEDスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。