ak-gpapi


Nameak-gpapi JSON
Version 3.0.5 PyPI version JSON
download
home_pagehttps://github.com/appknox/googleplay-api
SummaryUnofficial python api for google play
upload_time2024-12-06 11:58:13
maintainerNone
docs_urlNone
authorappknox
requires_pythonNone
licenseGPL3
keywords
VCS
bugtrack_url
requirements certifi cryptography protobuf requests urllib3
Travis-CI
coveralls test coverage No coveralls.
            # 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)

# Build

This is the recommended way to build the package, since setuptools will take care of
generating the `googleplay_pb2.py` file needed by the library (check the `setup.py`)

```
$ python setup.py build
```

# 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 = api.search("firefox")

for doc in result:
    if 'docid' in doc:
        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.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/appknox/googleplay-api",
    "name": "ak-gpapi",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": null,
    "author": "appknox",
    "author_email": "engineering@appknox.com",
    "download_url": "https://files.pythonhosted.org/packages/b8/39/0c398e17522ae4a01e25c586b56eadf851b0bfbc14c2ed197c09228a56c4/ak_gpapi-3.0.5.tar.gz",
    "platform": null,
    "description": "# Google play python API [![Build Status](https://travis-ci.org/NoMore201/googleplay-api.svg?branch=master)](https://travis-ci.org/NoMore201/googleplay-api)\n\nThis project contains an unofficial API for google play interactions. The code mainly comes from\n[GooglePlayAPI project](https://github.com/egirault/googleplay-api/) which is not\nmaintained anymore. The code was updated with some important changes:\n\n* ac2dm authentication with checkin and device info upload\n* updated search and download calls\n* select the device you want to fake from a list of pre-defined values (check `device.properties`)\n(defaults to a OnePlus One)\n\n# Build\n\nThis is the recommended way to build the package, since setuptools will take care of\ngenerating the `googleplay_pb2.py` file needed by the library (check the `setup.py`)\n\n```\n$ python setup.py build\n```\n\n# Usage\n\nCheck scripts in `test` directory for more examples on how to use this API.\n\n```\nfrom gpapi.googleplay import GooglePlayAPI\n\nmail = \"mymail@google.com\"\npasswd = \"mypasswd\"\n\napi = GooglePlayAPI(locale=\"en_US\", timezone=\"UTC\", device_codename=\"hero2lte\")\napi.login(email=mail, password=passwd)\n\nresult = api.search(\"firefox\")\n\nfor doc in result:\n    if 'docid' in doc:\n        print(\"doc: {}\".format(doc[\"docid\"]))\n    for cluster in doc[\"child\"]:\n        print(\"\\tcluster: {}\".format(cluster[\"docid\"]))\n        for app in cluster[\"child\"]:\n            print(\"\\t\\tapp: {}\".format(app[\"docid\"]))\n```\n\nFor first time logins, you should only provide email and password.\nThe module will take care of initalizing the api, upload device information\nto the google account you supplied, and retrieving \na Google Service Framework ID (which, from now on, will be the android ID of your fake device).\n\nFor the next logins you **should** save the gsfId and the authSubToken, and provide them as parameters\nto the login function. If you login again with email and password, this is the equivalent of\nre-initalizing your android device with a google account, invalidating previous gsfId and authSubToken.\n",
    "bugtrack_url": null,
    "license": "GPL3",
    "summary": "Unofficial python api for google play",
    "version": "3.0.5",
    "project_urls": {
        "Homepage": "https://github.com/appknox/googleplay-api"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "66dc1d2915925104e432f2fa6d439617d42f4af32f6f7d20c1fffbe4ccb024ee",
                "md5": "f8016ee92dbf9ee5593b129a8d5c3f94",
                "sha256": "39c9d0c3df9201344175fbbe608e29832943bda7e23752c8071f93415a36eb2e"
            },
            "downloads": -1,
            "filename": "ak_gpapi-3.0.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f8016ee92dbf9ee5593b129a8d5c3f94",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 112640,
            "upload_time": "2024-12-06T11:58:11",
            "upload_time_iso_8601": "2024-12-06T11:58:11.406579Z",
            "url": "https://files.pythonhosted.org/packages/66/dc/1d2915925104e432f2fa6d439617d42f4af32f6f7d20c1fffbe4ccb024ee/ak_gpapi-3.0.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b8390c398e17522ae4a01e25c586b56eadf851b0bfbc14c2ed197c09228a56c4",
                "md5": "13e68e1b23624133597ee8875a2a26af",
                "sha256": "fefcb200173782432b2292b0407978ab43c3ef18aafc3db34628d975454f451c"
            },
            "downloads": -1,
            "filename": "ak_gpapi-3.0.5.tar.gz",
            "has_sig": false,
            "md5_digest": "13e68e1b23624133597ee8875a2a26af",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 112018,
            "upload_time": "2024-12-06T11:58:13",
            "upload_time_iso_8601": "2024-12-06T11:58:13.368379Z",
            "url": "https://files.pythonhosted.org/packages/b8/39/0c398e17522ae4a01e25c586b56eadf851b0bfbc14c2ed197c09228a56c4/ak_gpapi-3.0.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-06 11:58:13",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "appknox",
    "github_project": "googleplay-api",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "certifi",
            "specs": [
                [
                    "==",
                    "2024.2.2"
                ]
            ]
        },
        {
            "name": "cryptography",
            "specs": [
                [
                    "==",
                    "39.0.2"
                ]
            ]
        },
        {
            "name": "protobuf",
            "specs": [
                [
                    "==",
                    "3.19.0"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    "==",
                    "2.31.0"
                ]
            ]
        },
        {
            "name": "urllib3",
            "specs": [
                [
                    "==",
                    "1.25.11"
                ]
            ]
        }
    ],
    "lcname": "ak-gpapi"
}
        
Elapsed time: 0.37963s