gpsoauth 1.1.1
gpsoauth
Python client library for Google Play Services OAuth.
gpsoauth allows python code to use the "master token" flow that KB Sriram described at
http://sbktech.blogspot.com/2014/01/inside-android-play-services-magic.html.
import gpsoauth
email = 'example@gmail.com'
password = 'my-password'
android_id = '0123456789abcdef'
master_response = gpsoauth.perform_master_login(email, password, android_id)
master_token = master_response['Token']
auth_response = gpsoauth.perform_oauth(
email, master_token, android_id,
service='sj', app='com.google.android.music',
client_sig='...')
token = auth_response['Auth']
This can be useful when writing code that poses as a Google app, like
gmusicapi does here.
Many thanks to Dima Kovalenko for reverse engineering the EncryptedPasswd signature in
https://web.archive.org/web/20150814054004/http://codedigging.com/blog/2014-06-09-about-encryptedpasswd/.
For an explanation of recent changes, see the changelog.
Alternative flow
There is an alternative login flow if you are experiencing BadAuthentication errors.
Go to https://accounts.google.com/EmbeddedSetup
Log into your Google Account
Click on "I agree" when prompted
Obtain the value of the oauth_token cookie. For more details see the gpsoauth-java readme.
Then, perform the token exchange:
import gpsoauth
email = 'example@gmail.com'
android_id = '0123456789abcdef'
token = '...' # insert the oauth_token here
master_response = gpsoauth.exchange_token(email, token, android_id)
master_token = master_response['Token'] # if there's no token check the response for more details
auth_response = gpsoauth.perform_oauth(
email, master_token, android_id,
service='sj', app='com.google.android.music',
client_sig='...')
token = auth_response['Auth']
Ports
C#: https://github.com/vemacs/GPSOAuthSharp
Ruby: https://github.com/bryanmytko/gpsoauth
Java: https://github.com/svarzee/gpsoauth-java
C++: https://github.com/dvirtz/gpsoauth-cpp and https://github.com/Iciclelz/gpsoauthclient
Contributing
See Contributing guidelines.
This is an open-source project and all contributions are highly welcomed.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.