{"action":"created","issue":{"url":"https://api.github.com/repos/jonparrott/ferris3/issues/27","repository_url":"https://api.github.com/repos/jonparrott/ferris3","labels_url":"https://api.github.com/repos/jonparrott/ferris3/issues/27/labels{/name}","comments_url":"https://api.github.com/repos/jonparrott/ferris3/issues/27/comments","events_url":"https://api.github.com/repos/jonparrott/ferris3/issues/27/events","html_url":"https://github.com/jonparrott/ferris3/issues/27","id":142638824,"number":27,"title":"oauth2client version 2 removed module oauth2client.appengine","user":{"login":"r00tat","id":1749213,"avatar_url":"https://avatars.githubusercontent.com/u/1749213?v=3","gravatar_id":"","url":"https://api.github.com/users/r00tat","html_url":"https://github.com/r00tat","followers_url":"https://api.github.com/users/r00tat/followers","following_url":"https://api.github.com/users/r00tat/following{/other_user}","gists_url":"https://api.github.com/users/r00tat/gists{/gist_id}","starred_url":"https://api.github.com/users/r00tat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r00tat/subscriptions","organizations_url":"https://api.github.com/users/r00tat/orgs","repos_url":"https://api.github.com/users/r00tat/repos","events_url":"https://api.github.com/users/r00tat/events{/privacy}","received_events_url":"https://api.github.com/users/r00tat/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2016-03-22T12:44:13Z","updated_at":"2016-03-23T10:03:49Z","closed_at":null,"body":"It seems like the most recent version of oauth2client does break the imports from oauth2.py:\r\n\r\n```\r\n  File \"project/lib/ferris3/oauth2.py\", line 41, in <module>\r\n    from oauth2client.appengine import StorageByKeyName, CredentialsNDBProperty\r\nImportError: No module named appengine\r\n```\r\n\r\noauth2client v1.5.2 does contain the module oauth2client.appengine. I did not trace oauth2client to the new location of the credential storage."},"comment":{"url":"https://api.github.com/repos/jonparrott/ferris3/issues/comments/200277320","html_url":"https://github.com/jonparrott/ferris3/issues/27#issuecomment-200277320","issue_url":"https://api.github.com/repos/jonparrott/ferris3/issues/27","id":200277320,"user":{"login":"r00tat","id":1749213,"avatar_url":"https://avatars.githubusercontent.com/u/1749213?v=3","gravatar_id":"","url":"https://api.github.com/users/r00tat","html_url":"https://github.com/r00tat","followers_url":"https://api.github.com/users/r00tat/followers","following_url":"https://api.github.com/users/r00tat/following{/other_user}","gists_url":"https://api.github.com/users/r00tat/gists{/gist_id}","starred_url":"https://api.github.com/users/r00tat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r00tat/subscriptions","organizations_url":"https://api.github.com/users/r00tat/orgs","repos_url":"https://api.github.com/users/r00tat/repos","events_url":"https://api.github.com/users/r00tat/events{/privacy}","received_events_url":"https://api.github.com/users/r00tat/received_events","type":"User","site_admin":false},"created_at":"2016-03-23T10:03:49Z","updated_at":"2016-03-23T10:03:49Z","body":"This will change a lot for build_service_account_credentials as we need the json file itself for ServiceAccountCredentials.from_json_keyfile_name\r\n\r\nsee also https://github.com/google/oauth2client/issues/401 and https://developers.google.com/api-client-library/python/auth/service-accounts#authorizingrequests"}}