我想在Chrome扩展程序中使用Google Execution Api。
在下面的页面中,有一个表单来测试执行api请求,但是当我发送请求时,我收到403错误作为响应。
发布此问题的人似乎已经解决了他的问题,这可能与我的问题相同。 Why does my apps script deployed as API executable return Permission Denied?
但是,我无法解决这个错误。请指导我帮我解决这个错误。
这是我在请求表中输入的内容。
https://developers.google.com/apps-script/execution/rest/v1/scripts/run#try-it
{
"error": {
"code": 403,
"message": "The caller does not have permission",
"status": "PERMISSION_DENIED"
}
}
我使用电子表格api,我添加了电子表格范围作为OAuth 2.0的附加范围。
这是一个要调用的示例函数代码。
// This function does nothing. Just a test.
function myFunction(data) {
var sheet = SpreadsheetApp.getActiveSheet();
return "success!!";
}
https://developers.google.com/apps-script/guides/rest/api#limitations
答案 0 :(得分:1)
是公开的脚本还是仅供您使用?我得到了这个错误,当我公开脚本时它解决了。我正在做一个Android应用程序,所以答案可能不完全适用。
答案 1 :(得分:1)
我在使用Google提供的快速入门文档时遇到了类似的问题。我注意到你的范围有两个项目。请注意将第二个范围添加到阵列中。对我来说,我使用node.js quickstart所以第10行看起来像这样:
<div class="triple" id="product_cols_2">
<div>…</div>…
<div>…</div>
<h2>Data</h2>
<div>
<table class="ecoData" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
Consumer Confidence
<br>
<span class="metatext">Dec 2016, CBoC</span>
</td>
<td align="center" class="pGreen" style="padding-right: 6px;">1.1</td>
<td align="center">…</td>
此外,正如这一行(第8-9行)所示,我必须使用我之前的凭据。转到您的主目录并找到(隐藏的)文件夹.credentials。对我来说,命令是:
var SCOPES = ['https://www.googleapis.com/auth/drive', 'https://www.googleapis.com/auth/spreadsheets'];
我做了一个,我重新运行了我的脚本,获得了授权,并且一切正常。
答案 2 :(得分:0)
您的403
错误表示您在服务帐户的身份验证中错误或错过了某些配置。确保应用程序脚本与正确的开发控制台项目相关联。
该脚本应与使用OAuth 2.0客户端ID的开发控制台项目ID相关联(此开发控制台项目还应具有&#34; Apps脚本执行API&#34;已启用)。
要更改应用脚本的开发者控制台项目,请选择以下菜单项:资源&gt;开发者控制台项目。
答案 3 :(得分:0)
昨天我遇到了同样的问题:虽然我做的一切都是正确的,但我得到了同样的错误。
我通过删除.credentials文件并重新运行代码解决了这个问题。如果之前没有这样做,请尝试一下。