Ho un beacon di segnalazione errori creato utilizzando lo script di Google Apps ed è pubblicato per essere eseguito da me e per essere accessibile a "chiunque, anche anonimo", che deve indicare Sono consentite richieste di domini X a GAS.Richieste cross-script di Google Apps interrotte in funzione
Tuttavia, i miei browser ora stanno indicando che non c'è l'intestazione Access-Control-Allow-Origin
sulla risposta dopo i messaggi di codice al beacon.
Mi manca qualcosa qui? Questo funzionava fino a due mesi fa. Fino a quando il GAS è stato pubblicato per l'accesso pubblico, quindi era impostando l'intestazione Access-Control-Allow-Origin
.
In Google Apps Script:
Code.gsfunction doPost(data){
if(data){
//Do Something
}
return ContentService.createTextOutput("{status:'okay'}", ContentService.MimeType.JSON);
}
lato client:
script.js$.post(beacon_url, data, null, "json");
ho segnato questo come la risposta, ma è un po 'fuori, quindi potresti voler modificare. Per qualche ragione, l'impostazione del tipo di contenuto all'interno di createTextOutput, anche con l'impostazione su JavaScript, non risolve il problema. Tuttavia, utilizzare la funzione setContentType e impostarlo su JavaScript non funziona. Inoltre, sto usando un POST e non una richiesta GET in questo caso d'uso. –
Ah, JSONP non funzionerà con Post. Tutto ciò che hai descritto sembra corretto. Esegui l'app come "io" autorizza l'accesso a "anonymous". Assicurati di effettuare la chiamata all'indirizzo pubblicato e non all'indirizzo dello sviluppatore. Se è stato impostato tutto ciò dovresti avere: Access-Control-Allow-Origin: * Ho testato un piccolo script con hurl.it. Vedo tutte le intestazioni corrette che tornano da lì. –