未获取App Script访问BigQuery Service的“授权”对话框

时间:2018-03-25 16:30:59

标签: google-apps-script google-bigquery authorization

我正在尝试修复一些使用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个小时,我开始获得上面引用的授权回报。我认为它可能随着时间的推移而刷新,但仍然会失败。

1 个答案:

答案 0 :(得分:0)

事实证明这一直在发挥作用。我试图查看作业结果而不是作业本身产生了授权错误。卫生署!