サーチ…


前書き

FirebaseとGoogle AppScriptを統合して、Firebaseデータベースのデータを読み書きします。

Firebaseは、GoogleのNoSQLデータベースシステムで、リアルタイムデータベースを使用してモバイル、デスクトップ、およびタブレットデバイス上にアプリケーションを作成およびホストするのに役立ちます。 NoSQLデータベースは、JSONオブジェクトを使用してデータを構造化形式で格納します。

GASのFirebaseプロジェクトに接続し、Google SpreadsheetからFirebaseにデータを転送する

AppScriptにFirebaseリソースをインストールする

  • これを行うには、[リソース]をクリックし、次に[ライブラリ]をクリックします。
  • Firebaseには、AppScriptにインストールする必要がある独自のプロジェクトライブラリキーがあります。
  • ライブラリをクリックすると、次のポップアップが表示されます。テキストボックスに次のプロジェクトキーを入力します。 MYeP8ZEEt1ylVDxS7uyg9plDOcoke7-2lこれはFirebaseのプロジェクトライブラリキーです。 ここに画像の説明を入力
  • 今バージョンでは、安定した公開版を選択します。 ここに画像の説明を入力
  • [保存]をクリックします。これで、FirebaseはあなたのAppScriptに正常にインストールされ、作業できます。

次に、Firebaseからデータを読み書きするための例を考えてみましょう。

  • 次に、Googleスプレッドシートで作成したサンプル表を作成します。 ここに画像の説明を入力
  • このテーブルを使ってFirebaseにデータベースを構築します。 AppScriptに次のコードを追加します。
    function writeDataToFirebase() {
      var ss = SpreadsheetApp.openById("1LACsj0s3syAa9gvORdRWBhJ_YcXHybjQfHPgw3TLQ6g");
      var sheet = ss.getSheets()[0];
      var data = sheet.getDataRange().getValues();
      var dataToImport = {};
      for(var i = 1; i < data.length; i++) {
        var firstName = data[i][0];
        var lastName = data[i][1];
        dataToImport[firstName + '-' + lastName] = {
          firstName:firstName,
          lastName:lastName,
          emailAddress:data[i][2],
          semester:data[i][4],
          department:data[i][5],
        };
      }
      var firebaseUrl = "https://example-app.firebaseio.com/";
      var secret = "secret-key";
      var base = FirebaseApp.getDatabaseByUrl(firebaseUrl, secret);
      base.setData("", dataToImport);
    }

スプレッドシートIDとfirebaseURLと秘密鍵を置き換えます。

firebaseURLと秘密鍵の検索方法は?

  • あなたのFirebaseダッシュボードに行き、左上隅の設定ギアをクリックしてください。 [プロジェクト設定]をクリックします。 ここに画像の説明を入力
  • 「サービスアカウント」セクションに移動すると、databaseURLが見つかります。これはfirebaseURLとして機能します。
  • Database Secretsタブをクリックすると、秘密鍵を見つけることができます。

これでfirebaseURLと秘密鍵が挿入されました。今あなたはすべて行くつもりです。 AppScriptエンジンで実行コードをクリックします。

  • あなたが実行したときに最初に権限を確認するように求められます。
  • [権限の確認と許可]をクリックします。
  • これで機能が実行され、Firebaseデータベースで作成されたテーブルが表示されます。

データベースを見るにはFirebaseダッシュボードに行き、データベースをクリックするとデータベースが表示されます。

読み書きを実装する関数がいくつかあります。

1.接続が機能しているかどうかをテストするための単純なデータを書き込む。

function myFunction(){
 var firebaseUrl = "https://example-app.firebaseio.com/";
 var secret = "secret-key";
 var base = FirebaseApp.getDatabaseByUrl(firebaseUrl, secret);
 base.setData("test", "Hello Firebase"); 
}

2.すべてのデータを読み込むには

function getAllData() {
         var firebaseUrl = "https://example-app.firebaseio.com/";
         var secret = "secret-key";
var base = FirebaseApp.getDatabaseByUrl(firebaseUrl, secret);
 var data = base.getData();
          for(var i in data) {
            Logger.log(data[i].firstName + ' ' + data[i].lastName);
          }
}

読み込まれたデータはログに表示されます。ログを確認するには、[View]→[Logs]をクリックするか、単にControl + Enterを使用します。

3.特定のレコードを読み取るには

function getContact() {
  var firebaseUrl = "https://example-app.firebaseio.com/";
  var secret = "secret-key";
  var base = FirebaseApp.getDatabaseByUrl(firebaseUrl, secret);
  var contact = base.getData("Yash-Udasi");
  Logger.log(contact);
}

読み込まれたデータはログに表示されます。ログを確認するには、[View]→[Logs]をクリックするか、単にControl + Enterを使用します。

4.特定のレコードを更新する。

function updateData() {
  var firebaseUrl = "https://example-app.firebaseio.com/";
  var secret = "secret-key";
  var base = FirebaseApp.getDatabaseByUrl(firebaseUrl, secret);
  base.updateData("Yash-Udasi/emailAddress", "[email protected]");
}


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow