【发布时间】:2017-12-01 19:14:34
【问题描述】:
我有一个应用程序,它通过 OAuth 1.0 将一项服务与 Google 表格相关联。
我点击插件菜单中的“登录”,发送签名和回调域(当前工作表)。然后在服务中,我点击按钮,获取请求令牌,它会将我返回到带有参数的指定域。
function onOpen(e)
{
Logger.log( SpreadsheetApp.getActiveSpreadsheet().getUrl() );
Logger.log( e.source.getUrl() );
}
但.getUrl() 不包含它们。
根据>this<,我不能在表格中使用doGet(e),并且由于OAuth,我不能使用Web App,因为我仍然需要将这些参数传递给表格。
我尝试通过window.top.location.href 在客户端获取它,但出现跨域错误。
问题:我能拿到吗?还是不可能?
【问题讨论】:
-
请参阅 Sergei Insas 的 answer 对提到的问题。
-
@Rubén,我已经在上面提到过这个问题。这并不能通过 Web App 解决问题,因为(如果我有 Web App)提供 OAuth 的服务会打开它,而 Web App 不知道 Sheets 并且不能在那里写
-
答案是使用有界脚本是不可能的,正如参考答案中所解释的那样。另一方面,我不清楚“Web App 不了解表格”是什么意思。 GAS Web App 可以使用电子表格服务 (SpreadsheetApp) 将值写入/读取电子表格。
-
@Rubén,我想我明白你的意思了。我去试试。谢谢
标签: javascript google-apps-script oauth google-sheets