Mam zgłoszenie błędu, które utworzyłem przy użyciu skryptu Google Apps. Zostało ono opublikowane, aby działało jak ja i było dostępne dla "każdego, nawet anonimowego", co oznacza, że powinno oznaczać Żądania X-domain do GAS są dozwolone.Prośby o międzydomenowe domeny w usłudze Google Apps przestały działać.
Jednak moje przeglądarki wskazują teraz, że nie ma nagłówka Access-Control-Allow-Origin
w odpowiedzi po wpisaniu kodu do radiolatarni.
Czy tu czegoś brakuje? To działało tak niedawno, jak dwa miesiące temu. Tak długo jak GAS był publikowany dla publicznego dostępu, wtedy był ustawiając nagłówek Access-Control-Allow-Origin
.
W Google Apps Script:
Code.gsfunction doPost(data){
if(data){
//Do Something
}
return ContentService.createTextOutput("{status:'okay'}", ContentService.MimeType.JSON);
}
Side Klient:
script.js$.post(beacon_url, data, null, "json");
zaznaczyłem to jako odpowiedź, lecz jest trochę wyłączony, więc możesz chcieć edytować. Z jakiegoś powodu ustawienie typu zawartości wewnątrz metody createTextOutput, nawet przy ustawieniu jej w JavaScript, nie rozwiązuje problemu. Jednak korzystanie z funkcji setContentType i ustawienie jej na JavaScript działa. Używam również żądania POST, a nie żądania GET w tym przypadku użycia. –
Ach tak, JSONP nie będzie działać z Post. Wszystko, co opisałeś, brzmi poprawnie. Uruchom aplikację jako "ja", aby umożliwić dostęp do "anonimowy". Upewnij się, że dzwonisz na opublikowany adres, a nie na adres programisty. Jeśli wszystko, co jest ustawione, powinieneś mieć: Kontrola dostępu-Pozwól-Origin: * Przetestowałem mały skrypt z hurl.it. Widzę stamtąd wszystkie właściwe nagłówki. –