Le ʻauth.py` qui apparaît dans le livre O'Reilly était trop vieux pour être exécuté, alors je l'ai réécrit avec la dernière version.
Opération confirmée le samedi 8 avril 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'
#Les valeurs suivantes doivent être le chemin d'accès complet au fichier de clé privée de votre compte de service
KEY_FILE = '<Nom de la clé privée de votre compte de service>.json'
def get_oauth_creds():
    #Génération des informations d'identification de l'utilisateur.
    credentials = ServiceAccountCredentials.from_json_keyfile_name(
    	KEY_FILE, 
    	BIGQUERY_SCOPE
    )
    #Mis à jour avec les dernières informations d'identification.
    credentials.refresh(httplib2.Http())
    return credentials
def print_creds(credentials):
    '''Sortez l'en-tête d'autorisation utilisé dans la requête HTTP.'''
    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()