{"action":"closed","issue":{"url":"https://api.github.com/repos/burnash/gspread/issues/243","labels_url":"https://api.github.com/repos/burnash/gspread/issues/243/labels{/name}","comments_url":"https://api.github.com/repos/burnash/gspread/issues/243/comments","events_url":"https://api.github.com/repos/burnash/gspread/issues/243/events","html_url":"https://github.com/burnash/gspread/issues/243","id":82036997,"number":243,"title":"Service Account authentication fails on Linux, works on Mac OS X","user":{"login":"migurski","id":58730,"avatar_url":"https://avatars.githubusercontent.com/u/58730?v=3","gravatar_id":"","url":"https://api.github.com/users/migurski","html_url":"https://github.com/migurski","followers_url":"https://api.github.com/users/migurski/followers","following_url":"https://api.github.com/users/migurski/following{/other_user}","gists_url":"https://api.github.com/users/migurski/gists{/gist_id}","starred_url":"https://api.github.com/users/migurski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/migurski/subscriptions","organizations_url":"https://api.github.com/users/migurski/orgs","repos_url":"https://api.github.com/users/migurski/repos","events_url":"https://api.github.com/users/migurski/events{/privacy}","received_events_url":"https://api.github.com/users/migurski/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-05-28T17:19:29Z","updated_at":"2015-10-15T01:15:56Z","closed_at":"2015-10-15T01:15:56Z","body":"I am using gspread 0.2.5 and oauth2client 1.4.11. On a Mac with Python 2.7.5 I can authenticate to Google and retrieve data using this code:\r\n\r\n    from oauth2client.client import SignedJwtAssertionCredentials\r\n    scopes = ['https://spreadsheets.google.com/feeds/', 'https://docs.google.com/feeds']\r\n    credentials = SignedJwtAssertionCredentials(client_email, private_key, scopes)\r\n    gc = gspread.authorize(credentials)\r\n\r\nOn Ubuntu 14.04 Linux with Python 2.7.6 and identical credentials, I see this error:\r\n\r\n```\r\nTraceback (most recent call last):\r\n  File \"scripts/website-people-update.py\", line 76, in <module>\r\n    sheets = load_sheets(gdocs_client_email, gdocs_private_key)\r\n  File \"scripts/website-people-update.py\", line 25, in load_sheets\r\n    gc = gspread.authorize(credentials)\r\n  File \"/usr/local/lib/python2.7/dist-packages/gspread/client.py\", line 335, in authorize\r\n    client.login()\r\n  File \"/usr/local/lib/python2.7/dist-packages/gspread/client.py\", line 98, in login\r\n    self.auth.refresh(http)\r\n  File \"/usr/local/lib/python2.7/dist-packages/oauth2client/client.py\", line 598, in refresh\r\n    self._refresh(http.request)\r\n  File \"/usr/local/lib/python2.7/dist-packages/oauth2client/client.py\", line 769, in _refresh\r\n    self._do_refresh_request(http_request)\r\n  File \"/usr/local/lib/python2.7/dist-packages/oauth2client/client.py\", line 834, in _do_refresh_request\r\n    raise AccessTokenRefreshError(error_msg)\r\nAccessTokenRefreshError: invalid_grant\r\n```\r\n\r\nI’m at a bit of a loss. Searches for `invalid_grant` come up with solutions that address incorrect configuration, rather than platform-specific failure."}}