GithubHelp home page GithubHelp logo

Comments (13)

matlink avatar matlink commented on May 20, 2024

Basically I introduced tokens in gplaycli to have an outofbox working apk downloader. Moreover, it was designed to be shipped in Debian, and providing default login and password was something unwanted. Also, having an unique instance providing tokens can handle the privacy issue: as far as you use proxy or Tor, Google cannot know who you are.

from googleplay-api.

archon810 avatar archon810 commented on May 20, 2024

Very interested to see @NoMore201's comments on reusing GSFIDs without duplicating them every time the API runs.

from googleplay-api.

matlink avatar matlink commented on May 20, 2024

GSFIDs are reused in gplaycli until they expire.
I don't think it's the job of this api to check for token validity as it should remain simple.

from googleplay-api.

SeBsZ avatar SeBsZ commented on May 20, 2024

@matlink you are only storing one gsfid in your token cache file. I don't understand how your code allows for multiple gsfids for a single google account.

Also, I agree the API should remain simple, but it currently already grabs tokens. It already has this functionality right now.

from googleplay-api.

matlink avatar matlink commented on May 20, 2024

Why would need you multiple gsfid for one account ?

from googleplay-api.

SeBsZ avatar SeBsZ commented on May 20, 2024

When you want to download multiple APKs for different devices?

from googleplay-api.

archon810 avatar archon810 commented on May 20, 2024
  1. There are multi-APKs with different DPIs, architectures, and minAPIs. Here's YouTube with 40 variants https://www.apkmirror.com/apk/google-inc/youtube/youtube-13-03-58-release/.

  2. APK device compatibility could very widely. Some APKs can only be downloaded by specific makers (Samsung apps by Samsung devices, HTC by HTC, etc), some are Android TV-only, some are Android Wear only, etc.

There are many reasons to use multiple profiles and GSF IDs, and it seems gpapi already realized this because https://github.com/NoMore201/googleplay-api/blob/e05d126f6b61942cedc8003c9dcd154569bfc0f2/gpapi/device.properties contains many different profiles.

from googleplay-api.

matlink avatar matlink commented on May 20, 2024

If I remember well, GSF ID is not bound to a specific device. So you can use the same GSF ID to download different apk for different devices.

from googleplay-api.

SeBsZ avatar SeBsZ commented on May 20, 2024

That is something I'd like to know for sure. Can you or anyone confirm this?

from googleplay-api.

archon810 avatar archon810 commented on May 20, 2024

I've never heard this - GSF ID has always been specific to a registered device under a certain account. You then use the GSF ID to download an app, and it's what tells Google Play what device is downloading.

For example, DummyDroid http://www.onyxbits.de/dummydroid registers a device and gives you a GSF ID you can then use.

Various GSF ID apps on the Play Store show you GSF IDs, which vary with devices under your account https://play.google.com/store/search?q=gsf%20id&c=apps. Device A will show a different GSF ID from device B.

How else would you tell the Google Play API what device is trying to download a given APK? As far as I know, GSF ID is basically a device identifier.

from googleplay-api.

matlink avatar matlink commented on May 20, 2024

In the request User-Agent there is a 'device=' argument to specify the device making the request.

from googleplay-api.

archon810 avatar archon810 commented on May 20, 2024

@matlink Yes, that's indeed used by Google API as well, but it's nowhere near enough for the real full compatibility. It also looks at features, libraries, arch, DPI information, and other things that were used to create the GSF ID to see if it should serve you a given APK or not. The user agent alone, while important, is only a small piece of the puzzle.

from googleplay-api.

rehmatworks avatar rehmatworks commented on May 20, 2024

I've made a pull request with token reuse capability but I'm not sure either my request will be merged or not as I'm basically a PHP developer with limited Python understanding. BTW if someone still needs this feature, then here is my fork: https://github.com/rehmatworks/googleplay-api

Use do_login() method instead login() to create (a device-specific) cache of gsfid and token and reuse it if valid.

from googleplay-api.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.