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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.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 气体应用程序脚本使用令牌执行web应用程序-403禁止_Google Apps Script_Google Cloud Platform - Fatal编程技术网

Google apps script 气体应用程序脚本使用令牌执行web应用程序-403禁止

Google apps script 气体应用程序脚本使用令牌执行web应用程序-403禁止,google-apps-script,google-cloud-platform,Google Apps Script,Google Cloud Platform,我有两个脚本部署为web应用程序。 第一个有函数doGet,它使用函数doPost创建对第二个应用程序的post请求 我在调用第一个doGet函数时被禁止 <HTML> <HEAD> <TITLE>Forbidden</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF" TEXT="#000000"> <H1>Forbidden</H1> <H2>Error 40

我有两个脚本部署为web应用程序。
第一个有函数doGet,它使用函数doPost创建对第二个应用程序的post请求
我在调用第一个doGet函数时被禁止

<HTML>
<HEAD>
<TITLE>Forbidden</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Forbidden</H1>
<H2>Error 403</H2>
</BODY>
</HTML>
第二个应用程序:
-doPost函数
-以以下方式执行应用程序:Me
-谁有权访问应用程序:任何人

function doGet(e) {

  var url = #url_to_second_app

  var headers = {
    "Authorization" : "Bearer " + ScriptApp.getOAuthToken()
  };

  var params = {
    "method":"post",
    "headers": headers,
    "muteHttpExceptions": true
  };

  var response;
  try{
    response = UrlFetchApp.fetch(url,params);
  }catch(err){
    response = err;
  }  
  Logger.log(response);
  return ContentService.createTextOutput(response);
}
function doPost(e) {
return ContentService.createTextOutput("hello world!");
谁有权访问该应用程序:任何人

要匿名访问第二个应用程序,应将第二个脚本发布为

任何人即使是匿名的

或者,第二个应用程序的驱动器应与第一个应用程序的脚本共享

谁有权访问该应用程序:任何人

要匿名访问第二个应用程序,应将第二个脚本发布为

任何人即使是匿名的


或者,第二个应用程序的驱动器应该与第一个应用程序的脚本共享。

我的理解是doPost和doGet连接到url的端点,您可以使用
ScriptApp.getService().getUrl()
,因此如果您在一个Web应用程序上有两个表单,其中一个有method=“get”,那么它将使用doGet()如果另一个有method=“POST”,那么它将使用doPost()。如果没有doPost(),则可以同时使用doGet。但是,您并不打算从脚本内部调用doPost()或doGet()方法。当将
muteHttpExceptions
转换为
false
时,您会收到什么错误消息?我的理解是,doPost和doGet连接到您通过
ScriptApp.getService().getUrl()获得的url的端点
因此,如果一个webapp上有两个表单,其中一个有method=“GET”,那么它将使用doGet(),如果另一个有method=“POST”,那么它将使用doPost()。如果没有doPost(),则可以同时使用doGet。但它并不是为了让您调用doPost()或doGet()从脚本内部的方法当将
muteHttpExceptions
转换为
false
时,您会收到什么错误消息?两个脚本位于相同的位置drive@Szymon然后,您需要在授权头中发送承载令牌,以确定是您进行提取调用。正如您所看到的示例,承载令牌附在request(来自doGet的请求)@Szymon 1上。这两个脚本是否作为同一个Google帐户运行?2.能否尝试将
drive.readOnly
的范围扩大到
drive
并重新部署新版本?3.如果这不起作用,请将这两个应用程序从v8降级到rhino engine,然后重新部署这两个应用程序?仍然是相同的错误。当我将对第二个应用程序的访问权限从“任何人”更改为“任何人甚至匿名”,并发送了一个带有授权令牌的请求时,我得到了403,但没有通过此标头请求,这两个脚本位于同一位置drive@Szymon然后,您需要在授权头中发送承载令牌,以确定是您进行提取调用。正如您所看到的示例,承载令牌附在request(来自doGet的请求)@Szymon 1上。这两个脚本是否作为同一个Google帐户运行?2.能否尝试将
drive.readOnly
的范围扩大到
drive
并重新部署新版本?3.如果这不起作用,请将这两个应用程序从v8降级到rhino engine,然后重新部署这两个应用程序?仍然是相同的错误。当我将第二个应用程序的访问权限从“任何人”更改为“任何人甚至匿名”,并发送了一个带有授权令牌的请求时,我得到了403,但没有通过此标头请求