我正在尝试将我的应用程序脚本webapp作为“用户访问webapp”执行,但它的bigquery应该像我一样运行,开发人员。 (如果我像我一样运行webapp,一切正常......)我查看了https://developers.google.com/bigquery/docs/authorization处的文档。没有应用程序脚本示例,所以我试着让javascript示例正常工作。
<html>
<head>
<script src="https://apis.google.com/js/client.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
function auth() {
gapi.auth.authorize(config, function() {
gapi.client.load('bigquery', 'v2');
$('#client_initiated').html('BigQuery client authorized');
$('#auth_button').fadeOut();
$('#dataset_button').fadeIn();
});
}
// User Submitted Variables
var projectNumber = 'XXXXXXXXXX';
var clientId = 'XXXXXXXXXX.apps.googleusercontent.com';
var config = {
'client_id': clientId,
'scope': 'https://www.googleapis.com/auth/bigquery'
};
function listDatasets() {
var request = gapi.client.bigquery.datasets.list({
'projectId':projectNumber
});
request.execute(function(response) {
$('#result_box').html(JSON.stringify(response.result.datasets, null));
});
}
</script>
</head>
<body>
<button id="auth_button" onclick="auth();">Authorize</button>
<div id="client_initiated"></div>
<button id="dataset_button" style="display:none;" onclick="listDatasets();">Show datasets</button>
<div id="result_box"></div>
</body>
</html>
我生成了一个客户端ID作为浏览器应用程序,其中https://script.google.com作为服务器地址。使用上面的代码,我收到此错误:无法读取未定义的属性'authorize_m___'。
我的问题有两个:1)应用程序脚本webapp是否会以与javascript应用程序进行身份验证相同的方式进行身份验证?即我可以使用该代码作为我的应用程序脚本的指南吗?
2)有关如何调试javascript示例代码的任何建议?请注意,我将此代码作为应用程序脚本webapp运行....这可能是一个错误....
答案 0 :(得分:1)
答案......或解决方法的答案在这里给出:How to pass parameters from one Google-Apps-Script to another and execute?
我可以使用两阶段身份验证代替直接身份验证:用户以他/她自己的身份登录,我获取用户的名称以查找他们的文件,然后切换到使用BigQuery和execs的webapp,我是开发人员。
应用程序脚本下的高级服务身份验证的一种很好的解决方法....