mirror of
https://github.com/FliegendeWurst/googleplay-api.git
synced 2024-10-18 06:50:45 +00:00
43 lines
1.8 KiB
Markdown
43 lines
1.8 KiB
Markdown
# Google play python API [![Build Status](https://travis-ci.org/NoMore201/googleplay-api.svg?branch=master)](https://travis-ci.org/NoMore201/googleplay-api)
|
|
|
|
This project contains an unofficial API for google play interactions. The code mainly comes from
|
|
[GooglePlayAPI project](https://github.com/egirault/googleplay-api/) which is not
|
|
maintained anymore. The code was updated with some important changes:
|
|
|
|
* ac2dm authentication with checkin and device info upload
|
|
* updated search and download calls
|
|
* select the device you want to fake from a list of pre-defined values (check `device.properties`)
|
|
(defaults to a OnePlus One)
|
|
|
|
# Usage
|
|
|
|
Check scripts in `test` directory for more examples on how to use this API.
|
|
|
|
```
|
|
from gpapi.googleplay import GooglePlayAPI
|
|
|
|
mail = "mymail@google.com"
|
|
passwd = "mypasswd"
|
|
|
|
api = GooglePlayAPI(locale="en_US", timezone="UTC", device_codename="hero2lte")
|
|
api.login(email=mail, password=passwd)
|
|
|
|
result = server.search("firefox")
|
|
|
|
for doc in result:
|
|
print("doc: {}".format(doc["docid"]))
|
|
for cluster in doc["child"]:
|
|
print("\tcluster: {}".format(cluster["docid"]))
|
|
for app in cluster["child"]:
|
|
print("\t\tapp: {}".format(app["docid"]))
|
|
```
|
|
|
|
For first time logins, you should only provide email and password.
|
|
The module will take care of initalizing the api, upload device information
|
|
to the google account you supplied, and retrieving
|
|
a Google Service Framework ID (which, from now on, will be the android ID of your fake device).
|
|
|
|
For the next logins you **should** save the gsfId and the authSubToken, and provide them as parameters
|
|
to the login function. If you login again with email and password, this is the equivalent of
|
|
re-initalizing your android device with a google account, invalidating previous gsfId and authSubToken.
|