Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 如何通过AppsScript返回Google工作表中的函数_Google Apps Script_Google Sheets Api - Fatal编程技术网

Google apps script 如何通过AppsScript返回Google工作表中的函数

Google apps script 如何通过AppsScript返回Google工作表中的函数,google-apps-script,google-sheets-api,Google Apps Script,Google Sheets Api,我想通过Google Sheet界面中的自定义菜单打印GA帐户列表。我在我的应用程序脚本中收集了这些代码。当我运行list account函数时,它运行得非常好- 我想在谷歌表单界面上打印这个。下面是我的代码 function listAccounts() { var sheet= SpreadsheetApp.getActive(); var ss = sheet.getActiveSheet(); var data = ss.getDataRange(); var

我想通过Google Sheet界面中的自定义菜单打印GA帐户列表。我在我的应用程序脚本中收集了这些代码。当我运行list account函数时,它运行得非常好-

我想在谷歌表单界面上打印这个。下面是我的代码

 function listAccounts() { 
  var sheet= SpreadsheetApp.getActive();
  var ss = sheet.getActiveSheet(); 
  var data = ss.getDataRange();
 

  var accounts = Analytics.Management.Accounts.list();
  if (accounts.items && accounts.items.length) {
    for (var i = 0; i < accounts.items.length; i++) {
      var account = accounts.items[i];
      Logger.log(account.name, account.id);

     
    }
  } 
}

function onOpen () {

var ui= SpreadsheetApp.getUi();
    ui.createMenu("Client Accounts")
      .addItem('List GA Accounts', 'listAccounts')
      .addToUi();

}
函数listAccounts(){
var sheet=SpreadsheetApp.getActive();
var ss=sheet.getActiveSheet();
var data=ss.getDataRange();
var accounts=Analytics.Management.accounts.list();
if(accounts.items&&accounts.items.length){
对于(变量i=0;i
假设通过
谷歌工作表界面
您的意思是将数据写入电子表格,您可以使用将数据格式化为二维数组,并将数据写入工作表:

function listAccounts() { 
  var sheet= SpreadsheetApp.getActive();
  var ss = sheet.getActiveSheet(); 
  var accounts = Analytics.Management.Accounts.list();
  if (accounts.items && accounts.items.length) {
    var values = accounts.items.map(item => [item.name, item.id]);
    ss.getRange(1, 1, values.length, values[0].length).setValues(values);
  } 
}
注: 我不确定要将数据写入工作表中的哪个位置,因此在下面的示例中,它从第一行和第一列(
A1
)开始。如果情况并非如此,请修改以下参数的前两个参数:

ss.getRange(1, 1, values.length, values[0].length)
参考:

是的,工作非常完美。谢谢你的回答。快速提问-值[0]是什么意思?是数组索引。@ArifAhmed是的,
values[0]
引用
values
数组的第一个元素。它的使用是因为你写你的值的范围需要与<代码>值< /代码>本身的尺寸相同。@ ArifAhmed也请考虑,如果它解决了你的问题。