javascript - sheet - 估个表格



Google电子表格从URL中获取参数 (1)

我有一个应用,通过OAuth 1.0将一项服务与Google表格关联起来。

我点击插件菜单中的“登录”,发送签名和回调域(当前表)。 然后在服务中,我点击按钮,获取请求令牌,它使我返回到带有参数的指定域。

function onOpen(e)
{
    Logger.log( SpreadsheetApp.getActiveSpreadsheet().getUrl() );
    Logger.log( e.source.getUrl() );
}

.getUrl()不包含它们。

按照这个 <我不能在表格中使用doGet(e) ,并且由于OAuth,我不能使用Web App,因为我仍然需要将这些参数传递给表格。

我试图通过window.top.location.href在客户端得到它,但有跨域错误。

问题:我可以得到它吗? 还是不可能?


所以,我的问题部分回答:

我们需要2个不同的脚本。 第一个作为表格Web插件,第二个作为Web应用程序。 接下来,我们需要实现屏幕截图中的所有步骤: 1)在步骤0,1,2之后,服务提供商应使用以下代码将我们重定向到助手脚本( Web App ):

function doGet(e)
{
    var token    = e.parameter.oauth_token,
        code     = e.parameter.oauth_verifier,
        response;

        if(token && code && Root.setVerificationCode(token, code))
            response = "Success";
        else
            response = 'Error';

    return HtmlService.createHtmlOutput(response);
}

在这里,我们检索GET参数并将它们发送到表单Web插件( Root )。 点击Resources -> Libraries并添加你的插件库。 Root只是一个标识符。

2)表插件代码:

function setVerificationCode(token, code)
{
    var oauth = new OAuth();
    if(oauth.getAccessToken(code))
    {
        // change menu here
        return true;
    }
    else
        return false;
}

这些是您实施OAuth 1.0所需的全部步骤。

PS现在我有更改菜单的问题,但这将是我的下一个问题。





google-spreadsheet