make cloud run service public

make cloud run service public
generate service account token
import { GoogleAuth } from 'google-auth-library'; const auth = new GoogleAuth({ keyFile: 'me.json', scopes: ['https://www.googleapis.com/auth/cloud-platform'] }); const client = await auth.getClient(); const token = await client.getAccessToken(); console.log('Access Token:', token);
using the service account token, make a service publically accessible
(async()=>{ // // requires service account token // // var token = ''; var project = ''; var service = ''; //list service details var url = `https://run.googleapis.com/v1/projects/${project}/locations/us-central1/services/${service}:getIamPolicy'; var headers = { authorization : `Bearer ${token}`, 'content-type' : 'application/json' }; var res = await fetch(url,{headers}); var json = await res.json(); console.json(json); //make public var json = { policy : { bindings : [ { role : 'roles/run.invoker', members : ['allUsers'] } ] } }; var url = `https://run.googleapis.com/v1/projects/${project}/locations/us-central1/services/${service}:setIamPolicy'; var headers = { authorization : `Bearer ${token}`, 'content-type' : 'application/json' }; var body = JSON.stringify(json); var res = await fetch(url,{headers,method:'post',body}); var json = await res.json(); console.json(json); })();