Reputation: 96
Hello i am trying to deploy an appscript project using the rest api for appscript, it gives me a 404 error in response, my code looks like this
The google appscript api is enabled on my account and i am using a gcp standard project in my script.
function createScriptDeployment(){
var token = ScriptApp.getOAuthToken();
var endPoint = 'https://script.googleapis.com/v1/projects';
var headers = {
'accept': "application/json",
'Authorization': 'Bearer ' + token
}
var body = {
'versionNumber': 2,
'manifestFileName': 'appsscript',
'description': 'second deployment test'
}
var options = {
'method': 'POST',
'headers': headers,
'contentType': 'application/json',
'payload': JSON.stringify(body),
'muteHttpExceptions': true
}
var url = endPoint+"/{scriptId}/deployments";
var response = UrlFetchApp.fetch(url,options);
Logger.log(response);
}
what could be the possible problem ?
any help is deeply appreciated
Upvotes: 0
Views: 462
Reputation: 1580
In line
var url = endPoint+"/{scriptId}/deployments";
replace {scriptId} with your script id from url
You can also use
var url = endPoint+'/' + ScriptApp.getScriptId() + '/deployments`;
If you deploy the same script you're running code at.
Edit:
Full script:
function createScriptDeployment(){
var token = ScriptApp.getOAuthToken();
var endPoint = 'https://script.googleapis.com/v1/projects';
var headers = {
'accept': "application/json",
'Authorization': 'Bearer ' + token
}
var body = {
'versionNumber': 2,
'manifestFileName': 'appsscript',
'description': 'second deployment test'
}
var options = {
'method': 'POST',
'headers': headers,
'contentType': 'application/json',
'payload': JSON.stringify(body),
'muteHttpExceptions': true
}
var url = endPoint+"/"+ScriptApp.getScriptId()+"/deployments";
var response = UrlFetchApp.fetch(url,options);
Logger.log(response);
}
This code works perfectly for me.
Upvotes: 2