0

我的应用程序“Google App Script”需要帮助。

我是在我的应用程序中用作数据库的电子表格的所有者;此电子表格必须保密。

我的应用程序在 Google 站点中作为 Gadget 执行,在此应用程序中,用户以自己的身份运行脚本(而不是以所有者的身份)。

我需要所有访问该应用程序的用户都可以从 DB 电子表格中获取一些数据。

如果只有我可以访问电子表格,用户如何获取这些数据?

我可以使用 oAuth 吗?

抱歉英语不好

4

2 回答 2

1

按照 Zig 的回答和说明,这里是这样一个 contentService webapp 的示例,可以在浏览器或 urlFetch 中使用此 url 调用它

该应用程序部署如下:以我身份执行任何人都可以匿名访问

在此处输入图像描述 https://script.google.com/macros/s/AKfycbxfk5YR-JIlhv7HG9R7F-cPxmL0NZRzrdGF4VFGxGivBkYeZY4/exec?&user=chris&row=4&sheet=Sheet1

这是演示脚本

function doGet(e) {
  if(e.parameter.user!='serge' && e.parameter.user!='chris' ){return ContentService.createTextOutput("logging error, you are not allowed to see this").setMimeType(ContentService.MimeType.TEXT)};
  var sheet = e.parameter.sheet;
  var row = Number(e.parameter.row);
  Logger.log(sheet+'  '+row);
  var ss = SpreadsheetApp.openById("0AnqSFd3iikE3dENnemR2LVFMTFM5bDczNGhfSG11LVE");// this sheet is private but anyone can call this app
  var sh = ss.getSheetByName(sheet);
  var range = sh.getRange(row,1,1,sh.getLastColumn());
  var val = Utilities.jsonStringify(range.getValues());
  var result = ContentService.createTextOutput(val).setMimeType(ContentService.MimeType.JSON);
  return result;  
}
于 2013-11-13T18:16:43.923 回答
0

不,您不能使用小工具中的 oauth,因为用户没有读取权限。但是,您可以发布第二个脚本来提取所需的数据,这些数据在您使用匿名公共访问时运行,并从第一个使用 urlfetch 调用该脚本。你慢点。

于 2013-11-13T17:47:22.507 回答