• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z fetchowaniem zewnętrznego API " Access to fetch at "<link> from origin 'null' has been blocked by CORS policy"

Aruba Cloud - Virtual Private Server VPS
0 głosów
1,081 wizyt
pytanie zadane 4 października 2020 w JavaScript przez sparklemo7ion Początkujący (360 p.)
edycja 4 października 2020 przez ScriptyChris

Cześć, chciałbym uzyskać dostęp do danych z tego https://www.goodreads.com/api API. Przykładowo chciałbym wyświetlić książki danego autora Przykładowe dane

W dokumentacji API pisze, że powinienem podać 3 parametry: 

  • id: Goodreads Author id (required)
  • page: 1-N (default 1)

Developer key już uzyskałem, a to mój kod: 

fetch(
        "https://www.goodreads.com/author/list.xml?" +
          new URLSearchParams({
            key: "API_KEY",
            id: 1850,
            page: 1,
          })
      )
        .then((res) => res.text())
        .then((str) => new window.DOMParser().parseFromString(str, "text/xml"))
        .then((data) => console.log(data));

w konsoli dostaję błąd: Access to fetch at 'https://www.goodreads.com/author/list.xml?key=API_KEY&id=1850&page=1' from origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

 

Ktoś wie jak to naprawić i uzyskać dostęp do tych danych? 

1 odpowiedź

+2 głosów
odpowiedź 4 października 2020 przez Comandeer Guru (606,480 p.)
wybrane 4 października 2020 przez sparklemo7ion
 
Najlepsza

Komunikat wskazuje na to, że odpalasz plik z dysku. Ajax działa tylko dla plików odpalonych z serwera, więc najlepiej wyposażyć się w takowy, np. przy pomocy XAMPP-a.

Niemniej to i tak nie rozwiązuje problemu, bo GoodReads nie przesyłają odpowiedniego nagłówka, który by pozwalał na pobieranie danych Ajaksem. Zostaje zatem albo skorzystanie z własnego serwera i pobranie danych przy jego pomocy, albo usługi pokroju https://cors-anywhere.herokuapp.com/

PS nie ujawniaj swojego klucza developerskiego na forum.

komentarz 4 października 2020 przez ScriptyChris Mędrzec (190,190 p.)

PS nie ujawniaj swojego klucza developerskiego na forum.

(wyciąłem) 

Podobne pytania

+1 głos
0 odpowiedzi 582 wizyt
pytanie zadane 29 kwietnia 2020 w JavaScript przez Rafixstan. Obywatel (1,070 p.)
0 głosów
0 odpowiedzi 711 wizyt
0 głosów
1 odpowiedź 208 wizyt
pytanie zadane 7 stycznia 2020 w JavaScript przez saseta00 Użytkownik (700 p.)

93,279 zapytań

142,278 odpowiedzi

322,298 komentarzy

62,599 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...