使用属性存储;添加到信息数组中,检索信息

时间:2019-07-10 18:13:22

标签: javascript google-apps-script

我有一个要为表格更新的加载项。我想在用户每次运行两个功能之一时存储信息,因此我创建了一个功能,用于将比信息推送到文档属性。最终,一旦收集到一定数量的值,我最终希望将该数据发送到工作表中。 我遇到的问题是,当我运行测试功能记录所包含的数据时,它只会显示最新数据;我不确定要添加到现有数据还是替换它。数据对应包括用户的电子邮件地址和由调用此storeStats函数的两个函数之一创建的工作表标签的名称。 简而言之: *我需要在添加数据之前声明属性存储的名称吗? *如何添加更多数据而不删除旧数据? *如何检查存储了多少数据?我在考虑array.length的思路,但不确定是否可以在Properties中使用 *我假设我需要使用parse命令来检索它并将其发送到工作表末尾。稍后可能会在一个单独的问题中提出来,但可以提出任何想法。

function storeStats(sheetTitle) {
var docProps = PropertiesService.getDocumentProperties();
var userID = Session.getActiveUser().getEmail(); 
var thisData = {user:userID, sheet:sheetTitle};
var thisDataStr = JSON.stringify(thisData);
var useData = "USEDATA";  //name of the properties store maybe
docProps.setProperties(useData,thisDataStr);
Logger.log(useData.length);
//send when enough values are present
//use parse to extract and send?
// /*if(/*see how many values are in the data set*/) {
   //parse values from value set array 
   //send the whole batch to the range on the collection sheet
//} */

}

到目前为止,未创建任何错误,但这仅返回一个电子邮件地址和一个工作表名称,而不是从以前的函数调用发送的所有值。

1 个答案:

答案 0 :(得分:2)

% Fill the rows that need more than a single unit entry % but still contain less than sb_degree for jj = 1:length(loc) thisrow = M(loc(jj),:); % unfilled row from M emptycols = find(thisrow == 0); % indices of columns of thisrow not yet filled fillidx = randperm(numel(emptycols), sb_degree - sum(thisrow)); M(loc(jj), emptycols(fillidx))=1; end 不会向“ USEDATA”添加数据,如果您想向其中添加或添加数据,则需要执行以下操作:

docProps.setProperties(useData,thisDataStr);

示例:

docprops.setProperty('USEDATA', docprops.getProperty('USEDATA') + thisDataStr);