Questa domanda sembra essere la risposta più semplice, ma dopo giorni di ricerche e diversi vicoli ciechi, non riesco a ottenere risultati di query a partire da BigQuery
senza che si insista su OAuth basato sull'utente. Qualcuno ha avuto fortuna con questo? Non sto utilizzando Google AppEngine
per la mia app, è ospitato in EC2
. Qui è la situazione esatta:Come interrogare BigQuery a livello di codice da Python senza interazione con l'utente finale?
User wants reporting data -->
Web server makes queries to BigQuery -->
Data is transformed for use in WebApp and returned to User.
Ogni volta che seguire gli esempi di Google, mi finisce per ottenere un browser web che appaiono a chiedere per me, per selezionare un account Google da utilizzare per l'autenticazione.
Ryan, grazie della risposta. Questo mi fa andare oltre. Avevo già eseguito gli Account di servizio in precedenza ed era chiaro che questo era quello che stavo cercando, ma non riuscivo a scoprire dove metterlo a punto. Ho fatto così, e ho eseguito il codice di cui sopra con il mio ProjectId corretto, e-mail di account di servizio, e il file chiave, ma quando afferro la risposta per elencare i set di dati, non vi è alcuna chiave 'set di dati' nel dett. Invece è qualcosa del genere: {u'kind ': u'bigquery # datasetList', u'etag ': u' "viowSXH0JIvMREGVicRUeTw4PZo/L-a0Zjajejhksaj6mKpTzCQGsr4" '} – JawsTheGame
Quindi, per il follow up, assicurati di chiamare il servizio .datasets(). list() metodo. Nell'esempio sopra, l'oggetto response ['datasets'] conterrà un elenco di oggetti di descrizione del set di dati, nella forma di {u'kind ': u'bigquery # dataset', u'id ': u'projectXXXXXXX: TestDataset' , u'datasetReference ': {u'projectId': u'projectXXXXXXX ', u'datasetId': u'TestDataset '}} –
Un'altra cosa: se non ci sono set di dati nella risposta API, è probabile che tu non abbia creato ancora nessuno. Puoi confermare di averlo fatto nel progetto che stai utilizzando? –