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.
Related
I've searched around for this, but haven't found any info. I've written a few scripts that are bound to certain google docs/sheets. Instead of being bound to a particular doc/sheet, is it possible to have a google action script that loads whenever anyone in my google user account group opens a new or existing doc/sheet?
I know how to load a menu UI. That's simple. I know how to create a stand-alone script. I'm asking for something different. Basically, I want to create a deployment suite of proprietary scripts for our company, and whenever a current or future user of our group opens any new or current Google docs/sheets, the menu appears in their UI.
Is this possible, or do I have to ask my users to "install" my suite every time?
If this exists in GAS, I don't know where to look.
Since you mentioned that you want to have the script available as a "button" that can be accessible by any user from any Sheet or Doc I think the only way to do this is by deploying your script as an add-on then make it available internally through the Google Workspace Marketplace and do a domain installation of this add-on so it gets installed for all your users automatically.
First you would need to create the script and deploy it as an add-on. You can skip the part of the OAuth verification process because you are not publishing a public add-on but just an internal add-on for your organization.
After that make sure to add the Google Workspace Marketplace SDK to your Google Cloud Platform project. In the App configuration section from the Marketplace SDK set everything as internal/private and mark the Google services where you want it to be available and create the store listing.
Once you finish that you will see the app has been approved and an installation link. Make sure to install it domain wide and wait a couple of minutes for it to appear in all your files (from the selected Google services during the configuration) for all your users.
The result should look something like this:
References:
Create and manage deployments
Publish an app
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.
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!
I tried to Pre-install a Sheets add-on for all users in the domain.
For that purpose i referred to the steps provided here -> https://developers.google.com/apps-script/add-ons/domain-wide
The add-on was successfully published to all users.
But the users are not able to use the said Add-on in all the sheets.
When trying to run the add-on only the "Help" sub-menu item is visible under the Add-on Menu as shown in image given below.
The above mentioned problem only gets resolved when i follow the below mentioned steps:
Add-ons -> Manage add-ons... -> Click on "Manage" button for the said Add-on -> Select "Use in this document" option as shown in images given below.
The problem gets resolved if and only if the user follows above mentioned steps and then reloads the spreadsheet in the browser.
Also, these steps are needed to be performed again to enable the Add-on for that particular spreadsheet if the user creates a fresh spreadsheet.
This operation is not needed for any Add-on that is available on the Chrome Web store or from the G-Suite Marketplace.
Is there any way in which any Sheets Add-on created using Google Apps Script can be published for domain wide installation and pre-installed in all users accounts and is available to be used in any Spreadsheet without having to Manage that Add-on for use in that particular spreadsheet?
Thanks in advance.
I have been searching for an answer, more that likely using the wrong terminology, to my question and I have read through the Google documentation but I am now more confused than when I started looking for the answer.
I'm new to Google Apps and a complete beginner at Javascript. I recently started working in a Google Apps school (we have our own domain) and I have started developing some custom Google Sheets to aid other teachers and boost productivity.
I have developed a Sheet with some custom scripts and a custom menu bar to call the various functions of the script. Since I am so new to Javascript my scripts have some bugs that I fix as other users report them to me. However, my problem is that when I fix a bug in my "master" Sheet the end user must open the shared master Sheet and make a copy of it to benefit from the update. I want to update to be pushed out to all copies of the sheet (circa 4 copies)
I know need to deploy it but I don't know whether I need to deploy it as a web app or a sheets add-on from the script editor? Again, we have our own domain so I do believe I don't need to have it approved by Google to use it internally in our domain?
Based from this documentation, public add-ons require a review before publication, since you have your own domain, you can publish just for users within your domain without a review.
To publish an add-on for the first time, follow these steps. If you also want to let Google Apps domain administrators install and authorize your add-on for all users in their domain, follow the steps for domain-wide publication as well.
When you fixed your bugs and wanted it to be updated to all copies of sheets, you can follow this Update your add-on link to update an add-on that you have already published.
Open the add-on project in the script editor.
Make the necessary changes to your code, then save a new version of your project by clicking File > Manage versions, then Save
New Version. Close the Manage Versions dialog.
Click Publish > Deploy as add-on. (Or Sheets or Docs or Forms add-on.)
In the dialog that appears, change the add-on's details as needed, select the new version of your script, then click Update store
item. (If you change the add-on's name, make sure you also change
the name of the Apps Script project to match, as the project name is
shown in the authorization dialog.)
In the store listing, click Publish changes, then click OK in the dialog that appears.
Hope this helps!