Google Apps Marketplace Migration - google-apps-marketplace

We have a Google Apps Marketplace App. Or more precisely, we have 2: one in the old marketplace and one in the new. Both point to the same URL, both do exactly the same thing (OAuth2 authenticating the user(even users from the old Marketplace,, because we handle this users like the "normal" users coming from the Chrome Web Store ).
Now Google wants us to move the users from the old Marketplace app to the new one.
How do we do that?
According to Google's document we should call an UpgradeApp API for every domain.
This requires that we find out all the domains (we don't know them because we don't care, if the user is a marketplace user or not).
So we should probably use licenseNotification on the old Marketplace app, to find out all domains and migrate them one by one?
To try this, I tried to issue the API from API Explorer (https://developers.google.com/apps-marketplace/v2/reference/licenseNotification/list) but got a message (403 FORBIDDEN complaining that I should activate the API . How do I do this? (I already have a project where the Marketplace API and Marketplace SDK is enabled).
Will this approach work at all?
Are there simpler ways of doing this?

The API explorer approach works, I just tried.
Make sure you are providing correct applicationId which is the key here.
GET https://www.googleapis.com/appsmarket/v2/licenseNotification/applicationId

Related

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

Should I create separate console projects for each API

I have created a web application which connects with Google APIs. In the past it only connected with the Google Analytics API. Now I am making it link with Google Webmaster Tools (GWT). Some of my existing users may want to opt in to GWT. And moving forward new users may want to link with just one or both APIs.
Is it best practice to create a separate console project for each API?
During experimentation I modified my original Google Analytics project to support GWT. But in doing this I found there is no way a user could revoke access to just one API; they would need to revoke BOTH APIs.
I then created a separate project to manage just GWT. This works fine and all. But from the user's perspective it makes another entry into their "Connected Apps" (see screen shot).
What is the best practice for a situation such as this?

Is it appropriate to publish a provisioning app to Google apps marketplace?

I've got an application that does user provisioning for Google apps (specialty provisioning).
I got to thinking, instead of going into the developer console for each customer currently using the application that it may make sense to publish the app in the market place.
Is this appropriate to do? Also, there are limits on each api key on how many requests can be done. Would a new api key get generated for each customer installing from the marketplace? Is there anything else I need to be concerned on this?
I didn't fully understand your questions so i'll try to answer the best I can.
Yes, it would be easier for your customers, especially new customers, to find your app in Marketplace. From there they can install it easier.
Not sure what you meant by "instead of going into the developer console for each customer currently using the application". Do you create a new console project for each customer?
Are you using the Provisioning API? This API is being deprecated and it will stop working by April 20, 2015. Instead you should use the Directory API.
What do you mean with "API Key"? Is it Project ID? When users install the app, the app will use the same Project ID.
You should keep in mind that there are quotas for using Google services that will go against that Project ID.

Can't link google play game services to an app because the client id is in use. However there is no app using that id

I'm trying yo update a game on google play to support leaderboards and achievements. (https://play.google.com/store/apps/details?id=com.rightpedalstudios.dragonseason)
However, when I go to link the app I get the message "This client ID is globally unique and is already in use."
I've searched online for people who have had the same problem and the advice they are given is to delete the client ID in the developer console, and if the app has been deleted there then undelete it first. However, there is nothing in the console using the ID, nor is there any deleted apps. As far as I can tell there is no app using the client id.
I did find another person asking a similar question here that was never answered.
Failing to create client ID, due to duplication of signing fingerprint by another Android OAuth2 client
I also get the message "The signing fingerprint you specified is already used by another Android OAuth2 client." When I try to set up a client ID from the developer console. (I know I'm not meant to do that if I'm using google play games, I just wanted to check if it failed from there too.)
I've tried contacting google support, I was directed to the google API support, and then directed here.
Two other developers that have worked on this project could have somehow created a client ID. Although I have contacted them and neither of them recall creating one.
Is there anyway to find out where this client ID is being used?
You have to delete the client id in the Google API console (now confusingly renamed the Google Developers Console !). Then you can link the app to the game straight away. I have just done this, and it worked fine for me. I wanted to link an existing app to a different game, so I deleted both the debug and prod(release) definitions and was able to immediately link the app to the new game.
Note that for many of us, doing work on Google Play Game Services in the Google API console is a last resort - many of us have encountered Google related bugs in the past by doing this !
This image may help:

A Google API to know which services are enabled?

I'm looking for a Google API call to know which services (Gmail in my case) are enabled for an organization or for a user.
The question has been asked without answer there : Google API for Google Services
Thanks!
If this existed, it would likely be in the Admin SDK rather than the Gmail API. That being said, I've never seen this and wasn't able to find any hint of it within the specific APIs within the SDK (would likely be in the Admin Settings API).
I am pretty sure this isn't possible via API currently.

Resources