2016-10-30 17 views
0

BigQueryから別のサーバーにデータを取得するアプリを構築しています。そしてサービスアカウントのためにgeneretedキーを使ってサーバーを認証するサーバーを使用しようとしています。 しかし、followigエラーが表示されます。google-bigqueryサーバーとサーバーとの認証が失敗する - python

import json 

from httplib2 import Http 
import argparse 
from oauth2client.client import GoogleCredentials 
from googleapiclient.errors import HttpError 
from oauth2client.service_account import ServiceAccountCredentials 
from apiclient.discovery import build 
from oauth2client.service_account import ServiceAccountCredentials 

scopes = ['https://www.googleapis.com/auth/sqlservice.admin'] 
credentials = ServiceAccountCredentials.from_json_keyfile_name(
    'credentials_bq.json', scopes) 
bigquery_service = build('bigquery', 'v1', credentials=credentials) 


query_request = bigquery_service.jobs() 
query_data = { 
    'query': (
     'select count(distinct meta_id) from [..table.name] ' 
     'where MSEC_TO_TIMESTAMP(meta_serverTs) >= \'2016-10-28 10:00:00 UTC\'') 
} 



query_response = query_request.query(
    projectId='my_project_id', 
    body=query_data).execute() 

エラーが返さ:

Traceback (most recent call last): 
    File "test_connection_bq.py", line 35, in <module> 
    body=query_data).execute() 
    File "/usr/local/lib/python2.7/dist-packages/oauth2client/_helpers.py", line 133, in positional_wrapper 
    return wrapped(*args, **kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/googleapiclient/http.py", line 838, in execute 
    raise HttpError(resp, content, uri=self.uri) 
googleapiclient.errors.HttpError: <HttpError 403 when requesting https://www.googleapis.com/bigquery/v2/projects/my_project_id/queries?alt=json returned "Insufficient Permission"> 
+0

私はv2を使用していません。v1申し訳ありません。 bigquery_service = build( 'bigquery'、 'v2'、credentials = credentials) – colly434

答えて

1

あなたがaccess control documentを読めばわかりませんか?そうでない場合は、サービスアカウントに適切な許可を与えてください。あなたはクエリを実行しているので、bigquery.userを許可する必要があります。

関連する問題