Authorization broken for non-published add-ons after today's update to the Gmail Add-Ons platform - gmail-addons

We have developed a Gmail Add-On that we only use internally within our company. Yesterday our employees were able to install the Add-On following the steps on this help doc:
https://developers.google.com/gmail/add-ons/how-tos/install-unpublished
Today this no longer works. When the user clicks the "Authorize Access" button a window pops up with an error.
The code for the add-on has not changed at all from yesterday to today.
For those who already had access to the Add-on, they noticed a few changes to the UI of the Add-on (ie. CardHeaders with empty strings are now collapsed). This seems to suggest that an update was made to the Gmail Add-On platform today. I wonder if the update today broke the authorization process for unpublished add-ons?
In my experimentation, it looks like when I install a Gmail Add-On from the G Suite Marketplace the "authorize scopes" screen is now part of the install process. The initial "Authorization required" card for the installed Add-On no longer appears. So it definitely seems like the authorization flow was changed, but maybe not updated for unpublished apps? Can this be investigated please?
I should also mention we are working on creating a new add-on to publish on the G Suite Marketplace and right now it is impossible to build and test it without being able to deploy it locally.

Related

How do I add another user to test my Google Workspace add-on for Google Sheets for testing prior to submission to the add-on marketplace? [duplicate]

I'm currently developing a gmail add-on and am hoping to allow a few users internal to my team to test out the add-on prior to a public release. I was following the documentation here from google that states
You can allow other users to test the add-on by sharing the Apps Script project with their account (read access is required) and then prompting the users to follow the above steps.
I assume that 'read' access is equivalent to 'view' access, and have given a user 'view' access to the project.
The problem I'm running into is that even with 'view' permissions, users aren't able to do a test deployment and install the add-on to their gmail account. The blue 'Deploy' button simply isn't visible. Any ideas on how to get my add-on into a few users hands before publishing, but without giving them edit privileges?
One way to do it is to have the users copy your script and deploy it.
Another is to publish the Add-On privately and you would have control over what version of the Add-On your test users are seeing. For this your users should be of the same Google Workspace domain

Google Apps Script Add-Ons not update deployments after make change

I'm trying to update Add-Ons deployment after make change to code and publish(private) to Google Workspace Marketplace. But, it seems like the Add-Ons didn't update the Add-Ons.
After I click on Deploy it didn't update the Add-Ons, I know this because, when I run from Head (Sheets with Add-Ons script) code and this logs from Another sheets where Add-Ons is installed, That v1.0 is not showing.
Thank you.
When making a change to an Add-on published on Marketplace, use Versioned deployments.
This means, every time you would like to update the published version, the best approach would to create a new deployment.
After creating a new deployment, you need to change the Deployment ID accordingly in Marketplace APP CONFIGURATION.
Do not forget to press the "SAVE" button at the bottom of APP CONFIGURATION.

Testing the installation of an unpublished Apps Script add-on

I'm developing a container-bound Apps Script add-on. I need to demonstrate the installation process as part of the OAuth verification process. I can't publish my add-on without OAuth verification, and there doesn't seem to be any other way to demonstrate the installation.
Some options I've considered are:
Publishing as a private add-on. However this isn't an available option for me. It's not visible in my console, possibly because I've already set it as a public add-on and the link above indicates it's not possible to change visibility
Installing an unpublished addon-on. This also doesn't seem to work, possibly because my script is container-bound, or for some other reason. I can share the script with other accounts, but they're unable to install it; they have no visible installation button.
So I feel like I'm caught in an unfortunate loop whereby I can never get my app verified without it already being verified.
Actually it turns out I was able to do this without publishing it at all. Following #TheMaster's advice, I created a new standalone Apps Script project, and then copied all the code from my previous add-on.
Then, I ran Run → Test as Add-on in the Apps Script IDE, chose a spreadsheet to test it in, and clicked on the add-on menu. Note: you have to actually click an add-on menu item, the authorization screen won't appear before then.
This time, because the add-on is now standalone, this prompted me to authorize, which looked like this:
At this point if you start recording, it shows the required authorization prompts, including the client ID in the window URL bar. I submitted this video for Google's OAuth verification and they accepted it, so it looks like this is the easiest way.
There is no documentation explaining how to show the installation process of an add-on that has not been accepted. If you want to eventually publish the add-on publicly, then the only solution is to first publish the add-on publicly as "unlisted." Then you can remove the "unlisted" status later.
Getting one add-on approved as private, and then trying to publish it again as public won't work. You can't change a GCP project from a private to a public listing, and the GCP project has it's own ID. The approval is directly linked to the GCP project. You'd need a totally different GCP project for the public listing, and need to go through the approval process all over again. So, that doesn't make any sense to try.
The OAuth client ID must be shown in the installation video. That ID is shown in the address bar of the authorization dialog box. You need to widen out the dialog box so that the entire ID can be shown in the address bar. That way the people who are reviewing your add-on installation video can see that the OAuth ID is related. Otherwise, you could just create any video for any project, and submit it for review. They need to see the OAuth Client ID.
You can publish and add-on as unlisted, and it will appear in the GSuite Marketplace even though it's unapproved. An unapproved add-on will stop allowing installations at 100 installations. But, no one will see your unlisted add-on, and you aren't going to get a 100 installations before you get your installation video done. (As long as you don't share the unlisted link with anyone)
The other problem, is that the unapproved add-on will show a warning message and make you click the "advanced" link to get the approval dialog. You don't need to show that in your video. If the screen recording app that you're using can edit the video, then you can edit that out. Or you could edit it out later after the add-on is approved. Google probably saves your video as proof that a certain GCP project asks for certain permissions. The video that you post publicly could probably be edited. They aren't going to require another approval unless you change a scope.

Deploying Google Script (as private) to G Suite Market Place vía Chrome Web Store

I've tried to deploy a script we made as an addon for google sheets and we decided to make it private so only the members of the organization can find it and use it.
I've used this video in order to do so: https://www.youtube.com/watch?v=6jcc3xm7aRU&list=WL&index=2&t=0s
The problem is, after finishing all the steps, it still is not up in the G Suite Market Place:
The option to add it is grayed out
Chrome web store shows a message saying I've published 0 out of 20 allowed elements
However, in the alternative control panel, it shows as published
And when I try to find it vía Google Sheets -> download addons, and look under my organization option, it says nothing has been published
I've read somewhere that a developer account needs to pay one time fee of $5? However, I haven't seen this option anywhere.
I thought that when you publish as 'private' it wouldn't have such issues. Any insight on where else to check?
Update:
Made the $5 payment.. crossing fingers..
Used the link as another user of the organization. Still the same message "changes will apply in a few minutes" with the Add to Chrome grayed out..
The thing is, it is not supossed to take that long for a private addon.. but can't be 100% sure.
Tried to be redirected to the addon in G Suite Marketplace using the link in the Chrome Developer Control Panel, however it redirected to the main page of the G Suite Marketplace. Will try to find the Addon inside the Marketplace using it's ID
UPDATE
I've updated the version (currently version 3)
Went to Google Cloud Platform -> API & Services -> G Suite Marketplace SDK -> Configuration and update the version
Integrated with Google
It loaded a new sheets but without the addon.. However this error showed in Cloud.. It appears it is now integrated with all the sheets that the organizations will create at any time, but something is wrong in the code.
Managed to make it available to the organization but still it dosn't load in any sheet
Code:
function onInstall(e){
onOpen(e);
}
function onOpen(e){
Logger.log('entré al menú')
var ui = SpreadsheetApp.getUi();
ui.createMenu('Plataforma')
.addSubMenu(ui.createMenu('Liquidaciones')
.addItem('Nueva LiQ', 'NuevaVenta')
.addSeparator()
.addItem('Actualizar LiQ', 'ActualizarFichaLiq'))
.addItem('Guardar LiQ', 'ValidacionCostos')
.addSeparator()
.addSubMenu(ui.createMenu('Voucher')
.addItem('Generar Voucher', ''))
.addToUi();
}
Google Add-ons are currently being migrated from the Chrome WebStore to the G Suite Marketplace, this is why some features currently do not work as expected
However, it is possible to install private (domain-wide published) Add-ons in the following manner:
Go to https://chrome.google.com/webstore/developer/dashboard and click in Your listings on the Add-on you want to install
Clicking on the link will open you Add-on in GSuite Marketplace
From here you can install your Add-on - either individually or domain-wide
4.After installing the Add-on, you should see it in the menu of Google Spreadsheets
Going on Manage add-ons will bring you to the list of your installed Add-ons
Hope this helps!

Publish an add-on privately

I am trying to publish a test add-on with the option Private, because there is nothing new in this add-on, and would not be accepted by Google if I published it with Public.
The add-on contains a sidebar, a custom menu and a custom function. It works well on its Google Sheet.
In Chrome Web Store, I have added 2 gmails to Edit your tester accounts: under Your developer account. I also created a google group with these 2 gmails.
By following this thread, I did Publish ==> Deploy as Sheets web add-on..., then uploaded different icon and images in Chrome Web Store, paid 5 dollars, left most of boxes blank, then published it with the option Private and chose the created google group.
However, when I open a new Google Sheet with either of these two mails, I cannot find the add-on in Add-ons. By Add-ons ==> Get add-ons..., I cannot find the add-on either.
So does anyone know where this add-on is supposed to appear? Is it because this add-on is under review by Google that it is not available yet.
I am quite surprised to see such a basic publishing is not unclear. Is it because few people publish an add-on with Private?
In your web store dashboard, you should see the link to the add-on. Get the URL for this link and give the URL to the accounts you have created that should have permission. Those accounts need to install the add-on, and then should be able to use it.
I think you can also list your add-on as unlisted and not be required to go through the entire approval process. This makes it a little easier to share your add-ons with specific users.