title: Service account can't connect to a Google Sheet using domain wide delegation
body: <p>I have a spreadsheet on our company Google Drive that I would like to be read by a service account. I've been stuck on this for some time now but I can't figure out what I'm missing.</p>
  
  <p>For that I created a service account, enabled the domain wide delegation and added the needed scopes ('<a href="https://www.googleapis.com/auth/drive" rel="nofollow noreferrer">https://www.googleapis.com/auth/drive</a>' and '<a href="https://www.googleapis.com/auth/spreadsheets.readonly" rel="nofollow noreferrer">https://www.googleapis.com/auth/spreadsheets.readonly</a>') in the G Suite Admin panel, matching the client id of my service account. I created a key for this service account and save it in a json file (file is key_sa.json).</p>
  
  <p>Despite that, when running the following code, it fails:</p>
  
  <pre><code>SERVICE_ACCOUNT_JSON_FILE_PATH = 'key_sa.json'
  SCOPES = ['https://www.googleapis.com/auth/drive', 'https://www.googleapis.com/auth/spreadsheets.readonly']
  
  credentials = ServiceAccountCredentials.from_json_keyfile_name(
          SERVICE_ACCOUNT_JSON_FILE_PATH, scopes=SCOPES)
  
  delegated_credentials = credentials.create_delegated('user@company.com') 
  delegated_http = delegated_credentials.authorize(httplib2.Http())
  delegated_credentials.refresh(delegated_http)
  
  service = build('sheets', 'v4', http=delegated_http) # credentials=credentials)
  </code></pre>
  
  <p>The error message I got for the last line is: </p>
  
  <pre><code>oauth2client.client.HttpAccessTokenRefreshError: unauthorized_client: Client is unauthorized to retrieve access tokens using this method, or client not authorized for any of the scopes requested.
  </code></pre>
  
  <p>Any hint as to what I'm missing?</p>