Il client OAuth non è stato trovato - Script di Google Apps - BigQuery
-
20-12-2019 - |
Domanda
Sto cercando di utilizzare lo script di app per caricare i risultati di bigQuery in un foglio di calcolo di Google. Ecco il mio codice
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.')
}
}
.
L'errore che ottengo è
.Errore: invalid_client
Il cliente OAUTH non è stato trovato.
Richiedi dettagli
. - cookie_policy_enforce= falso
- Scope= https://www.googleappis.com/auth/bigquery https://www.googleapis.com/auth/spreadsheets
- Response_type= codice gsession
- redirect_uri= https://script.google.com/oauthcallback
- Access_type= offline - Approval_prompt= Force
- Stato= ACJPJVHWUS-SSPO-J9B5VLH_UL4VOKI3QRANL-GWA7YWXZ6-RFELZBULQ2IGLDHRGLQUHNVLGPSMSONLQUEY45Ott1IGZHWFOWQ5E52JF6L_G-5PPPPWCF40DKV_JYRY9WELQPRQ
- client_id=734978265744@developer.gserviceaccount.com
. - HL= IT
Sono percorsi qualcosa? Ho fatto quanto segue.
- .
- Abilitato BigQuery API in Google Servizie
- Abilitato BigQuery nella console sviluppatore per il progetto.
Soluzione
Ho avuto questo esatto problema ieri.
Ho copiato un documento più volte, che a turno copia tutti gli script all'interno di esso, aggiungendo ciascuno con "Copia di".Quello che avevo finito era "Copia della copia della copia della copia della copia di".
Come ultima risorsa, ho ribattezzato il progetto di Script per "", e hey Presto, è diventato buono.
La mia teoria è che dal momento che il nome del progetto dello script viene utilizzato come nome dell'applicazione che richiede l'autorizzazione, c'è un limite di caratteri qui.
Rinominare il progetto a un nome più breve risolvere il problema?
Altri suggerimenti
Controllare se il tuo ID cliente o il segreto non contiene spazi nel tuo codice - questo è stato il mio problema che non ho notato quando copia le informazioni dalla console
Passare alla sezione Consent Screen
nella tua console di Google API (dalla barra laterale a sinistra), modificare il nome del prodotto e salvare le modifiche.