這個問題似乎應該是如此簡單的回答,但經過幾天的研究和幾個死衚衕,我似乎無法得到BigQuery
查詢結果沒有堅持基於用戶的OAuth。有沒有人有這樣的運氣?我沒有使用Google AppEngine
作爲我的應用程序,它位於EC2
。下面是具體情況:如何在沒有最終用戶交互的情況下從Python以編程方式查詢BigQuery?
User wants reporting data -->
Web server makes queries to BigQuery -->
Data is transformed for use in WebApp and returned to User.
每當我按照谷歌的例子,我最終得到一個網頁瀏覽器彈出要求我選擇一個谷歌帳戶,用於身份驗證。
Ryan,感謝您的回覆。這讓我進一步。我早些時候跑過服務賬戶,很明顯,這是我正在尋找的東西,我無法找到在哪裏設置。我已經這樣做了,並且使用正確的ProjectId,服務帳戶電子郵件和密鑰文件運行了上面的代碼,但是當我獲取列表數據集的響應時,字典中沒有「數據集」鍵。相反,它是這樣的:{u'kind':u'bigquery#datasetList',u'etag':u'「viowSXH0JIvMREGVicRUeTw4PZo/L-a0Zjajejhksaj6mKpTzCQGsr4」'} – JawsTheGame
因此,要跟進,請確保您正在調用服務.datasets().list()方法。在上面的示例中,響應['datasets']對象將包含數據集描述對象的列表,格式爲{u'kind':u'bigquery#dataset',u'id':u'projectXXXXXXX:TestDataset' ,u'datasetReference':{u'projectId':u'projectXXXXXXX',u'datasetId':u'TestDataset'}} –
另一件事:如果您的API響應中沒有數據集,則可能是您尚未創建任何尚未。你能否確認你在使用的項目中是這樣做的? –