Gsuite Marketplace publish process: 404 error - google-apps-marketplace

Looking into building some Gsuite Marketplace apps, but we have having issues at the publish time already.
Publishing an app following these steps makes the app to be accessible from the Chrome Marketplace.
(e.g. https://chrome.google.com/webstore/detail/qwertzuiopasdfghjkl/publish-accepted)
Using Chrome web store app link (e.g. https://chrome.google.com/webstore/detail/app-name/qwertzuiopasdfghjkl)
redirects to a Gsuite link (e.g. https://gsuite.google.com/marketplace/app/qwertzuiopasdfghjkl?pann=cwsdp&hl=en-US) but brings a 404 page.
Waiting seems to do the job (url works after a couple of days - approval)
Changing app type from "Private" to "Unlisted" break it completely; even waiting up to a week, the link never works again.
My questions are:
How do you switch between "Visibility options" without breaking your
app?
How do you guys deal with updating publishing apps on Gsuite
Marketplace and keep it working?
Cheers!

Every new update requires a new installation. So everytime you make changes whether feature or visibility settings, treat it as if you were uploading a new app.
If you change the visibility, it will undergo a review process as if it were a new app.
Users who have already installed your app will still be able to use it.

Related

How to delete a draft app from play console and publish from different account?

We created an app and uploaded the bundle from dev1 developer account.
The app is in draft stage as can be seen in the screenshot below
We created the internal testing track and send the link to 4 friends to install and provide feedback.
Later we decided we want to publish/release the app from a different developer account (dev2)
We paused the internal track , uninstalled the app and requested google support to delete the app. However support is saying that as the application has 'install statistics' they cannot delete the application at this time.
Question 1: As per https://support.google.com/googleplay/android-developer/answer/9023647 it should be possible to delete a draft. Am I misunderstanding draft status somehow?
Question 2: Is there something I can do to reset the install statistics. I could not find clear meaning of 'App must have 0 lifetime installs'. From literal meaning it appears if any one installs it even once, then it can never be deleted.
Question 3: If it is not possible to delete the app, is following workaround inline with google's policies
We leave the application as is in dev1 account (i.e. not published, internal testing track paused) .
We also unhook this version of the application from the back end server.
There after we publish the app from a different account (dev2) with new package name.

How can I build a webapp which uses google calendar api without having to become verified?

What I want to build:
I want to build a website where users can connect their google calendars (this will use Google Calendar API's)
and view their calendar events, as well as edit them, and create new ones.
My problem:
In order to do so, google says my app needs to be verified, which can take weeks, and I also need to set up terms of services pages, privacy policy pages
I also need to supply authorised javascript origins which MUST start with https, which of course is a problem during development, since my origin is http://localhost
I also need to set up support emails and homepage link
Question
I just want to start building my application without having to set up a whole production-ready website eco system.
Is there anyway I can use these Google Calendar APIs for editing/creating calendar events locally, without having to set up everything mentioned above first?
Unverified apps can still be used by the developer who created the project on google developer console.
Unverified app screen
The app or script might display an "unverified app" screen before it displays the consent screen. This is based on the specific scopes that your app includes in the request.
You can still work on your app while you are going though the verification process. However that being said i would start that process asap it can take a long time to get verified.
Yes, you can. As far as I am able to tell, all the verification step does is remove the "unverified app" screen. As long as you click Advanced > Go To ... (unsafe), you should be able to create and edit calendar events for that user in your application.
In order to be able to create and edit calendar events, you need to use the most sensitive scope, which is https://www.googleapis.com/auth/calendar. I couldn't figure out how to edit and create calendar events in my web app until I changed my scope from calendar.events to calendar.
Creating Events: https://developers.google.com/calendar/create-events

Test GMail marketplace app flow

So here I am again, exploring new Google platform and hunting down information and docs.
I'm trying to build a skeleton of a flow before I write any business logic code with actual use of the APIs, and as expected from Google, this process is excruciatingly painful.
I've tried to follow this doc:
https://developers.google.com/gsuite/marketplace/listing
Packaged the zip, put the flag DOMAIN_INSTALLABLE flag as was instructed in order for the app to be installible from the marketplace. In the dashboard of PRICING & DISTRIBUTION I've selected Private and added testers to the list of testers.
Now when I click View in Chrome Web Store (seen in image) it takes me to the extensions web store, and not to the marketplace store.
How can I get to the GSuite Marketplace flow, rather than the extension flow? Do I need to alter my manifest.json in some way that is not mentioned in the docs?
Thanks
it's true that the publishing flow is too complicated now. We are working on improvements and in the future everything will be in one place.
Unfortunately G Suite Marketplace does not support trusted testers (yet), that's why it doesn't show up.
What you might be able to do, is modify the url a bit after you clicked on 'View in Chrome Web Store'.
Just remove everything after the webstore id
I use this url:
https://chrome.google.com/webstore/detail/xxxxxx
xxxx should be your webstore id
You should be able to show your unlisted app in the Gsuite Marketplace, where you can initiate the install flow.
It works for me, but my test app

App is not authorized to scopes after installing via chrome web store

We are in the process of creating our new app for v2 of the apps marketplace. Recently we have run into quite a major issue and we are having a lot of trouble resolving it.
We are testing the workflow where a domain admin installs via the chrome webstore listing. The actual installation of the app works, insofar as the app is installed on the domain and the scopes appear to be granted when looking at the "Manage API client access" section in the domain admin panel (http://i.stack.imgur.com/a63nv.png).
However, when we attempt to use the service account to get calendar or contacts info, we are getting "Requested client not authorized" errors.
{
"error" : "access_denied",
"error_description" : "Requested client not authorized."
}
However, if we manually add our service account + scopes to the domain in question, then accessing the data programmatically works fine (http://i.stack.imgur.com/g6pRg.png).
So, clearly we are missing something here, with how installing a marketplace app via the chrome web store is supposed to work.
Other things to note:
Chrome webstore listing is marked as unlisted.
New marketplace app is not approved (obviously) as the tester received this specific error when attempting to install the marketplace app.
We got it figured out. The issue was in how we declared our contacts API scope in the marketplace sdk setup screen.
In the marketplace setup screen, we declared using the contacts scope without a trailing slash ("https://www.google.com/m8/feeds").
However in our app, we were sending oauth requests for the calendar feed with the slash at the end. ("https://www.google.com/m8/feeds/"). This mismatch caused the whole request to fail with the error message above.
If anyone runs into this and is baffled at why their service account requests are failing, make sure you are consistent with your slashes at the end!
I would suggest to Google that you should update the marketplace sdk screen to also be consistent and reject scopes that do not have a slash at the end. That would have saved us days of frustration.

gam1 reviews migrate over to gam2, then disappear on app re-install

We've seen cases like this:
Migrate a GAM1 domain to GAM2, the 'new' Gmail Gadget works fine for a couple days, then a few days later it stops showing for the entire domain. The client re-installs the GAM2 app which triggers the Gmail gadget to show again, but unexpectedly their migrated product review is no longer visible.
We asked one client to re-check this and they reported back that they can see the review from within their own account, but other marketplace users cannot see it.
We can demonstrate this by confirming their domain is migrated then comparing the previous review in GAM1 with GAM2. I can provide a couple examples privately.

Resources