Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.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
Javascript 将Google电子表格API V4(Spreadsheets.values.get)与私有表格连接起来_Javascript_Google Apps Script_Google Sheets_Google Oauth - Fatal编程技术网

Javascript 将Google电子表格API V4(Spreadsheets.values.get)与私有表格连接起来

Javascript 将Google电子表格API V4(Spreadsheets.values.get)与私有表格连接起来,javascript,google-apps-script,google-sheets,google-oauth,Javascript,Google Apps Script,Google Sheets,Google Oauth,请求: 我需要连接一个服务使用JS与私人谷歌表。不需要让最终用户登录到Google帐户,我只需要在网页上显示Google私有表单中的一些数据 我已经有了一个密钥和一个客户端ID,我将按照以下步骤使用它 到目前为止,我请求的问题是,这个示例让最终用户登录到Google帐户,然后进行Api调用 注意:如果谷歌工作表可以通过链接共享,那么我可以使用密钥连接,但是谷歌工作表应该是私有的,只允许某些人访问 有没有一种方法可以只使用私有Google表单中的数据,而不让最终用户登录到Google帐户?正如评论

请求: 我需要连接一个服务使用JS与私人谷歌表。不需要让最终用户登录到Google帐户,我只需要在网页上显示Google私有表单中的一些数据

我已经有了一个密钥和一个客户端ID,我将按照以下步骤使用它

到目前为止,我请求的问题是,这个示例让最终用户登录到Google帐户,然后进行Api调用

注意:如果谷歌工作表可以通过链接共享,那么我可以使用密钥连接,但是谷歌工作表应该是私有的,只允许某些人访问


有没有一种方法可以只使用私有Google表单中的数据,而不让最终用户登录到Google帐户?

正如评论中所建议的,您可以使用作为API从JavaScript应用程序发出get或post请求,为了不需要这些请求的凭据/令牌,您需要部署web应用,将选项“谁拥有应用的访问权限”设置为“任何人,甚至匿名”,并将选项“执行身份”设置为“我”,以便可以在您的凭据下运行。下面是一个简单的web应用程序示例,您可以向该应用程序对部署的url执行get请求:

function doGet() {
  var spreadsheet = SpreadsheetApp.openById("[SPREADSHEET-ID]");
  var sheet = spreadsheet.getSheetByName("Sheet1");
  var values = sheet.getRange("A2:E6").getValues();
  var stringOutput = values.toString();

  return ContentService.createTextOutput(stringOutput);
}

这将以字符串形式从“A2:E6”范围中检索值。

例如,使用服务帐户如何?在这种情况下,您可以在不登录Google帐户的情况下向Google电子表格输入和获取值。或者,我认为在你的情况下,你也可以使用谷歌应用程序脚本创建的网络应用程序作为API。在这种情况下,您还可以在不登录Google帐户的情况下将值放入Google电子表格并获取值。如果这些不是你期望的方向,我道歉。