我的应用程序“Google App Script”需要帮助。
我是在我的应用程序中用作数据库的电子表格的所有者;此电子表格必须保密。
我的应用程序在 Google 站点中作为 Gadget 执行,在此应用程序中,用户以自己的身份运行脚本(而不是以所有者的身份)。
我需要所有访问该应用程序的用户都可以从 DB 电子表格中获取一些数据。
如果只有我可以访问电子表格,用户如何获取这些数据?
我可以使用 oAuth 吗?
抱歉英语不好
我的应用程序“Google App Script”需要帮助。
我是在我的应用程序中用作数据库的电子表格的所有者;此电子表格必须保密。
我的应用程序在 Google 站点中作为 Gadget 执行,在此应用程序中,用户以自己的身份运行脚本(而不是以所有者的身份)。
我需要所有访问该应用程序的用户都可以从 DB 电子表格中获取一些数据。
如果只有我可以访问电子表格,用户如何获取这些数据?
我可以使用 oAuth 吗?
抱歉英语不好
按照 Zig 的回答和说明,这里是这样一个 contentService webapp 的示例,可以在浏览器或 urlFetch 中使用此 url 调用它
该应用程序部署如下:以我身份执行,任何人都可以匿名访问
这是演示脚本
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;
}
不,您不能使用小工具中的 oauth,因为用户没有读取权限。但是,您可以发布第二个脚本来提取所需的数据,这些数据在您使用匿名公共访问时运行,并从第一个使用 urlfetch 调用该脚本。你慢点。