VandersonQk / KuroReaderReleases

Apk releases from Kuro Reader and Kuro Reader Pro
https://kurotoshiro.dev/
57 stars 0 forks source link

Where is Google Drive Sync ? #4

Closed marcossmtp closed 6 months ago

marcossmtp commented 8 months ago

How is the fact of making this option to have "Pro" version if you can't have the features of it ? For me the most important option is can sync with Google drive that it is in pro version , why is not in this pro version ? in other thing I understand to limit the number of devices, but not understand the limit of time.

bust4cap commented 8 months ago

from the march 6th update on the official website:

  • Google Drive services will be back in the coming weeks
VandersonQk commented 8 months ago

Google Drive features

Waiting for Google approval. They don't just let you use the Google Drive APIs, there's a whole verification process for using services that specifically access user data (Sensitive scope verification). I've submited the request to use the api on March 6th, and still waiting the approval.

License with time limit

It's limited by time to not associate a license to a device forever. With a time limit, when the license expires, you can remove the expired and create a new one on the site. The purpose of the system is to have 3 active (and renewable) licenses at the same time, not 3 lifetime licenses locked to devices.

marcossmtp commented 8 months ago

ok I thought that when you removal you were using another key of 3 not that you have 3 again. I hope this github version can use the api too not only Google play version.

The old pro version continues working the sync.

Thanks

side777 commented 6 months ago

Any news? If the current version is not working with GD, can I access an older version as a new user?

VandersonQk commented 6 months ago

TLDR; the feature to read Google Drive files won't be added anytime soon because I can't and I won't pay USD $15k~$75k a year to use it

First, let me explain how Google grants access to its APIs:

The permissions are granted through scopes. Scopes allow the application to request access only to the resources it needs and, at the same time, allow users to control the amount of access they grant the application.

There are three scope levels:

Each level requires a type of verification, and they are quite difficult to obtain depending on the level.

The function to synchronize progress uses a simple scope (drive.appdata), which allows the app to access only the files it has created. That's what we got.

The scope of access to Google Drive files is sensitive (drive.file), so it requires Google to verify the app. Whether you can get this permission easily depends on the reviewer who checks the app, and unfortunately we weren't so lucky.

Google itself doesn't deny any permissions, but they do make some requirements that are not easily obtained. In our case, it asked for a laboratory verification from an external security company, this verification is called a "CASA Tier 3 assessment".

casa

According to the contact I made with one of the companies that do this verification, it costs between USD $15k and $60k per year, the total amount depends on the complexity of the app and the urgency with which the tests are conducted.

This is totally unaffordable for an app the size of Kuro Reader, so this feature will remain disabled.

There have been changes to Google's API rules, which now require annual verification of the app. The old version of Kuro Reader, which was allowed to access the files, will lose access in the coming months due to the same requirement.

Sorry.

side777 commented 6 months ago

With simple scope, do we get access to folders created by the app or single files only? Because if we can access the folder this could be a workaround. We could let the app create the folder and fill it later.

VandersonQk commented 6 months ago

@side777 I did some tests today to see if your workaround was possible, but to no success.

do we get access to folders created by the app or single files only?

Kinda. The drive.appdata scope allows the app to have a private storage, so it can create/delete/edit anything.

We could let the app create the folder and fill it later.

With drive.appdata it's impossible, as only Kuro Reader can access the files. But there is another scope, drive.file, which allows the application to create/manage its own files in the main Google Drive storage. In my tests, I was able access these files/folders (created by Kuro Reader) using other apps or the Google Drive site, but not the other way around, even if Kuro Reader creates a folder, it cannot access the files inside the folder if they are uploaded by any other application or the Google Drive website.

To read files from Google Drive, the only solution is to use Kuro Reader to upload the files, but I believe that most people want to access the files that are already there.