Google apps script 在另一个项目文件中调用Google Apps脚本
我正在尝试使用UrlFetchApp.fetch调用另一个项目文件中的Google Apps脚本文件,该文件位于示例后面。Google apps script 在另一个项目文件中调用Google Apps脚本,google-apps-script,Google Apps Script,我正在尝试使用UrlFetchApp.fetch调用另一个项目文件中的Google Apps脚本文件,该文件位于示例后面。 我得到了与原始海报中提到的相同的错误,但我的样本没有成功。 谷歌是否在过去4年中改变了一些东西,阻止我调用另一个脚本文件? 请参阅下面的脚本。 下面是我用来调用另一个项目文件的函数 function makeRequest() { var webAppUrl = "https://script.google.com/macros/s/***/e
我得到了与原始海报中提到的相同的错误,但我的样本没有成功。
谷歌是否在过去4年中改变了一些东西,阻止我调用另一个脚本文件?
请参阅下面的脚本。
下面是我用来调用另一个项目文件的函数
function makeRequest()
{
var webAppUrl = "https://script.google.com/macros/s/***/exec";
var auth = ScriptApp.getOAuthToken();
var header = { 'Authorization': 'Bearer ' + auth };
var options = { 'method':'post', 'headers':header };
var resp = UrlFetchApp.fetch(webAppUrl, options);
Logger.log(resp);
}
下面是我试图调用的函数。此外,我还运行了authorizeDrive函数,并作为webapp发布
function authorizeDrive()
{
var forScope = DriveApp.getRootFolder();
}
function doPost()
{
var ss = SpreadsheetApp.openById('ssID');
var name = ss.getName();
Logger.log('called');
return ContentService.createTextOutput(name);
}
- 您希望通过从GAS项目B访问Web应用程序来运行GAS项目A中的Google应用程序脚本
- 在您的情况下,Web应用程序是由有权访问该应用程序的
的人员部署的:
或仅限我自己
。任何人
- 您希望使用访问令牌访问Web应用
- 天然气项目A和B在您的谷歌硬盘中
makeRequest()
。因此,为了增加使用访问令牌访问Web应用的范围,下面的修改如何
修改脚本:
- 请添加注释行的
。此注释行用于自动检测范围//DriveApp.getFiles()
- 在这种情况下,
已添加到作用域中。如果这不能解决您的问题,请添加https://www.googleapis.com/auth/drive.readonly
的注释行。在这种情况下,//DriveApp.createFile(blob)
https://www.googleapis.com/auth/drive添加了
- 当修改Web应用端的脚本时,请将其重新部署为新版本。这样,最新的脚本就会反映到Web应用程序中。请小心这个
- 如果Web应用的GAS项目的所有者不是您的帐户,该帐户的脚本为
,请首先与您的帐户共享Web应用的GAS项目文件。那么,请测试一下。本规范已于2018年4月11日添加。另外,请注意这一点makeRequest()
- 您希望通过从GAS项目B访问Web应用程序来运行GAS项目A中的Google应用程序脚本
- 在您的情况下,Web应用程序是由有权访问该应用程序的
的人员部署的:
或仅限我自己
。任何人
- 您希望使用访问令牌访问Web应用
- 天然气项目A和B在您的谷歌硬盘中
makeRequest()
。因此,为了增加使用访问令牌访问Web应用的范围,下面的修改如何
修改脚本:
- 请添加注释行的
。此注释行用于自动检测范围//DriveApp.getFiles()
- 在这种情况下,
已添加到作用域中。如果这不能解决您的问题,请添加https://www.googleapis.com/auth/drive.readonly
的注释行。在这种情况下,//DriveApp.createFile(blob)
https://www.googleapis.com/auth/drive添加了
- 当修改Web应用端的脚本时,请将其重新部署为新版本。这样,最新的脚本就会反映到Web应用程序中。请小心这个
- 如果Web应用的GAS项目的所有者不是您的帐户,该帐户的脚本为
,请首先与您的帐户共享Web应用的GAS项目文件。那么,请测试一下。本规范已于2018年4月11日添加。另外,请注意这一点makeRequest()
function makeRequest()
{
var webAppUrl = "https://script.google.com/macros/s/***/exec";
var auth = ScriptApp.getOAuthToken();
var header = { 'Authorization': 'Bearer ' + auth };
var options = { 'method':'post', 'headers':header };
var resp = UrlFetchApp.fetch(webAppUrl, options);
Logger.log(resp);
}
// DriveApp.getFiles() // This comment line is used for automatically detecting the scope.