我有一个将数据导入Google电子表格的Power Shell脚本。按预期工作:设置项目凭据,范围,令牌刷新... 导入数据后,我需要调用属于电子表格的Google Apps脚本。我按照以下步骤操作: https://developers.google.com/apps-script/guides/rest/api (已部署,相同项目,已启用API,同一用户......)
不幸的是,PS Script说(403 = Forbidden):
Invoke-RestMethod : The remote server returned an error: (403) Forbidden.
At S:\projekte\controlling\ctlac.ps1:163 char:12
+ ... $result = Invoke-RestMethod -Headers @{Authorization = "Bearer $acc ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
这是给出错误的代码行:
$result = Invoke-RestMethod -Headers @{Authorization = "Bearer $accessToken"} -Uri $requestUrl -Method Post -ContentType "application/json" -Body $request |ConvertTo-Json With $request being: { "function": "fnTest" }
我错过了什么?它应该可以工作吗?
TIA
答案 0 :(得分:0)
从您提供的相同文档中读取,请确保您已遇到requirements:
- 包含该功能的Apps Script项目必须部署为API可执行文件。
- 他调用应用程序必须为API提供有效的OAuth令牌。此OAuth令牌必须涵盖脚本使用的所有范围(不是 只是被调用函数使用的那些)。
- 脚本和调用应用程序必须共享同一个Cloud Platform项目。
醇>
从您的403错误中推断,您遇到了与访问令牌相关的#2问题。确保您已获得OAuth授权。