I have written an Apps Script for personal use that I want to invoke with an HTTP request. (I'm basically using this like a "serverless function" with native authentication to Google Apps APIs.)
I can do this easily by deploying my Apps Script project as a Web App, which gets me a URL like
https://script.google.com/macros/s/${DEPLOYMENT_ID}/exec
However, if I make changes to my script and want to push those changes live, I have to create a new deployment, which will have a new deployment ID, thus changing the URL.
I know that I could use a "Test Deployment" to get a URL that always points to the project HEAD, but this always requires authentication from the HTTP client. With my deployment, I can set "Who has access" to "Anyone" and avoid this requirement.
Is it possible to deploy a web app script to a URL that will not change on future deployments?
In the old editor deploying to the same URL is the default behavior because you can only have one deployment. The new editor allows you to have multiple deployments, each with its own URL and (possibly) pointing to different versions of your application.
To update an existing deployment to a different version, or to create a new version, you need to edit your deployment's configuration.
Editing deployment configuration
I have a Google Apps Script project, for which I have 2 deployments:
HEAD (development)
VERSION X (production)
I need to configure these 2 deployments differently (eg different filenames, usernames,...).
What is the best way of doing this? On the Project page of the G Suite Developer Hub I cannot find anything related to "deployment-specific configuration variables".
I read somewhere that you can (should?) use a PropertiesService for this, but again I cannot figure out how to (non-programmatically) edit the values for a specific deployment.
Appreciate your suggestions
I am not able to switch google cloud platform project in GAS editor.
What I am doing is…
Open the google sheet GAS editor
Open Resource --> Cloud Platform Project
Enter project number that I want to connect
With the process above, I was able to switch a cloud platform project but now it returns an error
‘Project does not exist, or you need edit access to it.’
I am using the same cloud project and same account(editor) that I used before and properly worked. I tried do the same with a owner account, but it didn’t work, either.
Also, this cloud project is not a default project nor a hidden project. (If it does, I guess it should not be able to access through GAS editor from the beginning)
I have checked documentation below, but it tells me only case when switching to a hidden project.
https://developers.google.com/apps-script/guides/cloud-platform-projects
Does anyone have a solution or suggestion??
Thank you for the help in advance.
Problem Solved.
I figured out that OAuth IDs which are generated when make connection docs to the cloud project are not be deleted even though delete actual document files.
What I have done is...
Login Google Cloud Platform
Go to APIs&Services --> Credentials
On OAuth 2.0 client IDs, delete unnecessary contents from the list
Back to your docs and switch the cloud project.
We are no longer able to associate our Apps Script projects with our Cloud platform project. When going to Resources: Cloud platform project in the GAS editor, and entering the project ID, it says "Project doesn't exist or you need Edit access to it.". The project definitely exists and the same Google account is an owner of it. With the same workflow, we previously managed to associate many projects.
Is there maybe a limit on how many GAS projects can be associated with one Cloud project? We've associated about two dozen recently, and then it started to produce this error. Or what could be going on?
This is explained in details here:
https://developers.google.com/apps-script/guides/cloud-platform-projects
Specifically, quoting:
"There may be cases in which you want multiple Apps Script projects to share the same Google Cloud Platform project. Since these default Cloud Platform projects for Apps Scripts are hidden, they cannot be used as the destination projects for a switch. If you see a "Project does not exist or you need edit access to it" error when attempting to switch a script's project, that usually means you are attempting to move it to one of these default projects.
To get around this restriction, create a new, blank Cloud Platform project, and use the steps above to add each script to that."
I was able to solve this by switching from the Classic Editor to the New Editor, adding the Cloud Project, then reverting back to the Classic Editor (if needed).
I am attempting to publish a simple Google Docs add-on, following these instructions: Publishing an Add-on
However when completing the configuration for Google Apps Marketplace SDK, I enter my script project key (found from file --> project properties) and receive the following error: 'Project Key is not associated with the current project.'
Only instance where I can find someone with the same problem (here) occurred when they created a project on the Google Developers Console instead of going through resources --> Advanced Google Services. This is not the reason for my error, can anyone shred any light onto my problem?
Any help would be gratefully received,
Connor
Kept trying, did not change the way I tried publishing nor the project key I was entering and it worked after so many retries. Wish I could give a more detailed answer...
I was able to fix by combining two successful responses from this post:
use version number, and only the number, e.g. "1" -- Do not use "v1.0" or "Version 1 on Oct 1, 6:10 AM" or your deployment's Description
After completing step 1, delete your entry in field 'Docs Add-On Project Script ID', then re-enter it -- the page seems to not re-evaluate your changes unless you do this; I had tried saving multiple times before doing this with no success using the correct version number and script ID.
For me I need to go Publish->Deploy as API. Select the correct version and then the publish screen worked
I needed to include a correct version number (1,2,3,4; not "v0.1") in addition to the script ID. The error suggested my script ID was wrong, but the error went away when I picked a valid version number.
For me, the Google App Script file needed to be associated with the project.
In the GAS, go to Resources > Cloud Platform Project.
Under Change Project, enter the project number (which can be found on the home page of the Google Cloud Platform Project in the Project info module), and click Set Project.
Confirm the notices (though make sure that is really what you want to do).
Once it has been set, go back to the App Configuration, and re-enter the information (if you are already on that page, refresh).
That's what worked for me, but maybe other developers get that error for other reasons.
Source: https://developers.google.com/apps-script/guides/cloud-platform-projects#switching_to_a_different_standard_gcp_project
Hmm I had issues as well. It didn't work with version 1 in "Docs Add-on script version" but while I tried a bunch of stuff I ended up deploying again and then I incremented version to "2" and then it worked.
I got the same error today, I made it finally work. I will go through the fields I checked.
App Integration [I'm deploying using deployment ID, you can get the ID from AppScript manage deployment]
Choose which workspace you are releasing [In my case Sheets], type the version from AppScript.
Enter all other general Credentials and save.
The above steps worked for me.
Try to use the Google Workspace Add On and enter the App Script Deployment ID. That accepted for me and showed it as a Sheets Add-On
It's different in deploy or test in legacy editor and new editor.
And I'm using legacy editor before
(because some following steps from documents is not work in new editor),
So when I lookup Mange deployment in new editor,
It wasn't exisisted,
And the deployment ID it's not work when I fill out App configuration in Google Workspace Market.
For me I just change to following the Legacy editor's following steps
https://developers.google.com/workspace/marketplace/enable-configure-sdk#legacy-editor_2
and It works.
Looks like it is not possible to change scriptId after a round of review. So you can just update only version. I changed to last number of deployment version like '6' and it is saved.