Die "auth.py", die im O'Reilly-Buch erscheint, war zu alt, um ausgeführt zu werden, daher habe ich sie auf die neueste Version umgeschrieben.
Operation bestätigt am Samstag, 8. April 2017
auth.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import httplib2
import json
from apiclient import discovery
from oauth2client.service_account import ServiceAccountCredentials
BIGQUERY_SCOPE = 'https://www.googleapis.com/auth/bigquery'
#Die folgenden Werte sollten der vollständige Pfad zur privaten Schlüsseldatei für Ihr Dienstkonto sein
KEY_FILE = '<Name des privaten Schlüssels für Ihr Dienstkonto>.json'
def get_oauth_creds():
#Generierung von Benutzeranmeldeinformationen.
credentials = ServiceAccountCredentials.from_json_keyfile_name(
KEY_FILE,
BIGQUERY_SCOPE
)
#Auf den neuesten Berechtigungsnachweis aktualisiert.
credentials.refresh(httplib2.Http())
return credentials
def print_creds(credentials):
'''Geben Sie den in der HTTP-Anforderung verwendeten Berechtigungsheader aus.'''
cred_dict = json.loads(credentials.to_json())
if 'access_token' in cred_dict:
print 'Authorization: Bearer %s' % (cred_dict['access_token'],)
else:
print 'creds: %s' % (cred_dict,)
def main():
print_creds(get_oauth_creds())
if __name__ == "__main__":
main()