title: Read google spreadsheet in pandas dataframe
body: <p>Not very experience with API authentication but I cannot figure out how to read a Google Sheet share with me from Python.</p>
  
  <p>I've tried:</p>
  
  <pre><code>import gspread
  from oauth2client.service_account import ServiceAccountCredentials
  
  scope = ['https://spreadsheets.google.com/feeds',
           'https://www.googleapis.com/auth/drive']
  
  credentials = ServiceAccountCredentials.from_json_keyfile_name('/Users/alexiseggermont/Downloads/Accountable-7b29dac08324.json', scope)
  
  gc = gspread.authorize(credentials)
  
  wks = gc.open("mysheet").sheet1
  </code></pre>
  
  <p>This gives me <code>ImportError: cannot import name 'opentype'</code> on line 2.</p>
  
  <p>I then tried:</p>
  
  <pre><code>import oauth2client.client, oauth2client.file, oauth2client.tools
  import gspread
  
  flow = oauth2client.client.OAuth2WebServerFlow(client_id, client_secret, 'https://spreadsheets.google.com/feeds')
  storage = oauth2client.file.Storage('credentials.dat')
  credentials = storage.get()
  if credentials is None or credentials.invalid:
      import argparse
      flags = argparse.ArgumentParser(parents=[oauth2client.tools.argparser]).parse_args([])
      credentials = oauth2client.tools.run_flow(flow, storage, flags)
  
  gc = gspread.authorize(credentials)
  
  # when this cell is run, your browser will take you to a Google authorization page.
  # this authorization is complete, the credentials will be cached in a file named credentials.dat
  </code></pre>
  
  <p>This opens a window asking if I want to give my app access to my sheets, and I click yes. But then <code>sheet = gc.open("mysheet").sheet1</code> gives me a permission error:</p>
  
  <pre><code>APIError: {
   "error": {
    "errors": [
     {
      "domain": "global",
      "reason": "insufficientPermissions",
      "message": "Insufficient Permission"
     }
    ],
    "code": 403,
    "message": "Insufficient Permission"
   }
  }
  </code></pre>
  
  <p>The only suggestion I find to solve this error is to change the 'scope' variable, but there is no scope variable used in that code, so I am confused.</p>