Comments (9)
I am not exactly sure what permissions you are referring to. Do you mean the user accounts you can create in the developer console? There is a predefined user role called version manager (I think, because it is translated to something similar in German for me). But if you followed the steps described in https://developers.google.com/android-publisher/getting_started that should be automatically set.
But if I look closer there are really just three permissions that user needs and those would be
- update the play store listing
- publish production apks
- publish alpha, beta apks (if you are using any of those tracks)
I haven't tried it, though, because I usually just go with that default role.
from gradle-play-publisher.
We'll investigate further. We have a very large app (100m+ installs), so anything permissions-wise with publishing is done cautiously. I'll give it a try with just the default version manager role. If that works, I'll whittle down the permissions to see which ones are the necessary ones.
We have it set with the listing and alpha/beta permissions, but purposefully withheld the production one since we will only be using this for an internal-only alpha channel. Hopefully not having that permission isn't what's causing it π¦
Also might mention that Google appears to impose a hard limit of one upload (even attempt) per 24 hour period, though maybe it's just a rate limiting increase due to our testing. Due to that, might be a couple of days before I can update this with the results of our testing.
from gradle-play-publisher.
Also, you should try running the task with the --debug
flag. The Google API logs a lot of stuff and that way you can see which request causes that error.
from gradle-play-publisher.
So further investigation shows it does require permission to upload APKs for all three channels, even if you'd prefer to limit its access to just alpha/beta.
Here is a screenshot of the minimum permissions required for the plugin to work, even if a developer doesn't personally need them for their intended use (like the example above).
I have no idea why it requires access to manage alpha and beta users, but publishListing...
tasks will not work without it.
from gradle-play-publisher.
I investigated a little further and I think I know what is happening. It is all about the way the Google Play API works. You basically edit your app in a staging area called an Edit. There you have everything in one place: The apk, the apklisting, the images, the listing itself and so on. Even the test users are part of that construct. Once you are done with all your changes you have to commit them and everything is updated in one atomic operation.
Thus, in theory you could change all the parts of the app at once. Unfortunately, the server does not figure out what resources are touched, beforehand. So it has a rather pessimistic approach. The Client might want to update every part of the app in that operation -> Just require all permissions.
I don't think there is much we can do about it, except for filing a feature request anywhere. I am sure Google will understand our concerns when it comes to security and permissions. Any idea for a good place to file such a request?
from gradle-play-publisher.
Filed it here: https://code.google.com/p/google-api-java-client/issues/detail?id=917
from gradle-play-publisher.
Yeah that's probably the best place to file that request. It does seem heavy handed, but I guess it's easier for them to control on their side if it requires all these permissions up front. Hopefully they'll reconsider, I'll star the issue and chime in as well :)
from gradle-play-publisher.
The issue on Google Code has been moved to Done. I don't think there is anything left we can do about it so I updated the README with the required permissions.
from gradle-play-publisher.
yeah I guess we'll just have to hope they improve this in the future.
Thanks for looking into it and filing for he issue!
On Wed, Jan 7, 2015 at 6:42 AM BjΓΆrn Hurling [email protected]
wrote:
β
Reply to this email directly or view it on GitHub
#20 (comment)
.
from gradle-play-publisher.
Related Issues (20)
- Consider shading Google API client dependencies HOT 2
- A gradle task for uploading native debug symbols HOT 1
- Deprecation warning about `Project.getConvention()` when run using gradle 8.2.1 HOT 7
- Wear release note is not retrieve with bootstrapListing HOT 1
- set :play:android-publisher as an API dependency HOT 1
- Conflict with 'com.google.firebase.appdistribution' plugin HOT 1
- Error: insufficient data written HOT 24
- bootstrapReleaseListing: Unable to tunnel through proxy. Proxy returns "HTTP/1.1 403 Forbidden" HOT 2
- Error: PKIX path building failed HOT 1
- Task installRelease not found when publishing is disabled HOT 1
- Release notes languages management HOT 6
- Release notes for 3.8.5 release? Where to find? HOT 2
- Key Signature Mismatch on CI and not Locally HOT 4
- Publish to Wear OS only? HOT 6
- Build fails on the version conflict with ResolutionStrategy.IGNORE HOT 3
- available-version-codes.txt (No such file or directory) when turned on gradle configuration cache HOT 3
- in-app update priority is always 0 HOT 1
- The Project.getConvention() method has been deprecated. This is scheduled to be removed in Gradle 9.0. HOT 1
- Some problems were found with the configuration of task ':app:promoteArtifact' (type 'UpdatableTrackLifecycleTask')
- PublishBundle$Processor fails with SunCertPathBuilderException HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gradle-play-publisher.