我正在尝试修复一些使用BigQuery“高级服务”的App脚本来安装一些BigQuery作业。我运行的第一个新脚本弹出了一个BigQuery授权对话框,一切正常,现在每小时运行一次。第二个新脚本最初运行,但现在失败了:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Login Required",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Login Required"
}
}
这是在初始授权后大约12小时开始的,所以似乎有些东西过期了。但是,我无法弄清楚如何触发授权对话框出现。此外,我预计每个不同的函数都需要授权,但第二个函数最初运行时没有要求BigQuery权限。
其他信息: 这是我正在执行的.gs文件:
function runQuery() {
var projectId = redacted;
var configuration = {
"query": {
"useQueryCache": false,
"destinationTable": {
"projectId": projectId,
"datasetId": redacted,
"tableId": redacted
},
"writeDisposition": "WRITE_TRUNCATE",
"createDisposition": "CREATE_IF_NEEDED",
"allowLargeResults": true,
"query": redacted
}
};
var job = {
"configuration": configuration
};
var jobResult = BigQuery.Jobs.insert(job, projectId);
var jobId = jobResult.jobReference.jobId;
Logger.log(jobResult);
}
第一次运行非常相似的查询时,我收到一个对话框,提示我输入BigQuery权限,如下所示: https://developers.google.com/apps-script/guides/services/authorization 我随后成功运行了相同的脚本(略有不同的查询配置)。但是,在第一次运行后大约12个小时,我开始获得上面引用的授权回报。我认为它可能随着时间的推移而刷新,但仍然会失败。
答案 0 :(得分:0)
事实证明这一直在发挥作用。我试图查看作业结果而不是作业本身产生了授权错误。卫生署!