google-apps-script - 未找到 OAuth 客户端 - Google Apps 脚本 - BigQuery

标签 google-apps-script google-bigquery

我正在尝试使用 App Script 将 BigQuery 结果加载到 Google 电子表格中。这是我的代码

function runQuery() {
var projectId = 'xxxxx';

var request = {
  query: 'select * from ASRLogs.LocationBasedClicks;'
};

var queryResults = BigQuery.Jobs.query(request,projectId);
var jobId = queryResults.jobReference.jobId;

// Check on status of the Query Job. 
var sleepTimeMs = 500;

while(!queryResults.jobComplete)
{
   Utilities.sleep(sleepTimeMs);
   sleepTimeMs *=2;
   queryResults = BigQuery.Jobs.getQueryResults(projectId, jobId);
}

// Get all the rows of the result. 
var rows = queryResults.rows;
while (queryResults.pageToken) {
   queryResults = BigQuery.Jobs.getQueryResults(projectId, jobId, {
       pageToken: queryResults.pageToken
   });
   rows = rows.concat(queryResults.rows);
}

if (rows) {
     var spreadsheet = SpreadsheetApp.create("BigQuery Results");
     var sheet = spreadsheet.getActiveSheet();

     // Append the headers
     var headers = queryResults.schema.fields.map(function(field) {
       return field.name;
     });
     sheet.appendRow(headers)

     // Append the results. 
     var data = new Array(rows.length);
     for (var i = 0; i < rows.length; i ++){
       var cols = rows[i].f;
       data[i] = new Array(cols.length);
       for (var j =0; j < cols.length; j++){
         data[i][j] = cols[j].v;
       }
     }
     sheet.getRange(2,1,rows.length,headers.length).setValue(data);

     Logger.log('Results spreadsheet created: %s', spreadsheet.getUrl());
} else {
  Logger.log('No rows returned.')
}
}

我得到的错误是

Error: invalid_client
The OAuth client was not found.
Request Details
- cookie_policy_enforce=false
- scope=https://www.googleapis.com/auth/bigquery https://www.googleapis.com/auth/spreadsheets
- response_type=code gsession
- redirect_uri=https://script.google.com/oauthcallback
- access_type=offline
- approval_prompt=force
- state=ACjPJvHwuS-sspO-j9b5vlH_Ul4VokI3QRANL-gwa7YWxz6-RFelZBuLQ2aiiGldHRgR89sMnvlgpsmSOnlquEY45oTt1IgZHWfoWq5e52Jf6l_G-5yPpPwCf40Dkv_JYR9welQPrQ
- client_id=734978265744@developer.gserviceaccount.com
- hl=en



我错过了什么吗?我做了以下工作。
  • 在 Google 服务中启用 BigQuery API
  • 在开发者控制台中为项目启用 BigQuery。
  • 最佳答案

    检查您的客户端 ID 或密码是否在您的代码中不包含任何空格 - 这是我的问题,我在从控制台复制信息时没有注意到

    关于google-apps-script - 未找到 OAuth 客户端 - Google Apps 脚本 - BigQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22004216/

    相关文章:

    google-apps-script - 当我收到此错误 : "Limit Exceeded: DriveApp."? 时,超出了限制

    javascript - 如何从 Google Script 获取 JS 变量?

    javascript - Google 脚本中的发件人姓名

    google-apps-script - 自定义弹出消息

    python - 无法通过 Python SDK 使用 BigQuery 运行多个更新

    ruby - 参数类型 STRING 和 {ARRAY<STRING>} 的运算符 IN 没有匹配的签名 (Google BigQuery)

    google-bigquery - BigQuery API 和 BigQuery Storage API 之间的区别?

    javascript - 如何在 GAS 功能真正结束后运行功能?

    google-bigquery - BigQuery 表通配符函数别名?

    sql - 如何在Google bigquery中替换1-127范围以外的ASCII字符?