簡體   English   中英

使用Google Apps腳本從Firebase讀取數據

[英]Reading Data from Firebase…with Google Apps Script

因此,正如標題所示,我目前正在研究一個相當棘手的問題。 這是場景。

我有一個包含名稱,電子郵件和到期日期模板的Google電子表格。 但是,它不包含實際數據。 數據本身位於Firebase中,並且不斷變化。 那么,我的目標是允許附加到我的電子表格的script.gs文件通過定時間隔或使用Firebase的典型dataRef.on('value',function(){});從Firebase讀取dataRef.on('value',function(){});

我已經嘗試過使用網絡應用程序了,但是Caja會對Firebase的代碼進行分解,為了使用Firebase對象,您必須擁有該代碼。 我嘗試將Firebase腳本包含為庫,然后將其直接復制到script.gs 沒有任何效果。

我相信我的問題很大程度上源於gs環境,即服務器。 但是,當放在script.gs時, cURL似乎script.gs 無論如何,希望你們其中一個人有答案。 如果您需要進一步說明,請與我們聯系。

我將Firebase與Google Apps腳本一起使用。 您需要使用Google的urlFetch。 Google文檔

代碼示例:獲取數據

var optList = {"method" : "get"};
var recordName = "theUserID";

var rsltList = UrlFetchApp.fetch("https://yourFireBaseDB_name.firebaseio.com/" +
recordName + "/.json", optList );

在上面的示例中,向firebase發出GET請求。 您想要數據的數據庫必須包含在URL中。 URL必須以/.json 您的數據庫結構反映在URL中。 在上面的示例中,數據庫對每個用戶ID具有不同的記錄,並且用戶ID被放入URL中。

UrlFetchApp.fetch()方法可以有一個或兩個參數。

fetch(url, params)

獲取文檔

您需要使用高級參數來指定要發送的請求類型:例如: PUT,GET 注意:您不能直接使用UrlFetchApp.fetch指定PATCH請求,但可以在標頭中放置一個覆蓋來發送PATCH請求。

使用PATCH請求更安全。

如果您決定使用UrlFetchApp.fetch將數據寫入Firebase,則最好知道如果未正確配置URL,使用PUT請求可以覆蓋並清除所有數據。

在上面的示例中,返回的數據將放入變量: rsltList

fetch方法的第二個參數是一個對象。 {"method" : "get"}

對象是key:value對。

好吧,我想出了一個相當hacky的方法來做到這一點,但它確實做到了這一點。 我設置了一個本地腳本來從Firebase中讀取。 每次添加值時,腳本都會向Google表單發送ajax調用,該表單包含一個充滿響應的電子表格。 ajax調用模擬表單提交,中提琴! 我可以通過Firebase從客戶端發送信息到a第二個客戶端,通過ajax到googlesheet,其中script.gs可以訪問信息並對其進行操作。 這個解決方案的最佳部分恕我直言,我不必亂用谷歌的偏執代碼解析器/截斷者:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM