• 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"

0 głosów
159 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 (560,220 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 (168,460 p.)

PS nie ujawniaj swojego klucza developerskiego na forum.

(wyciąłem) 

Podobne pytania

+1 głos
0 odpowiedzi 68 wizyt
pytanie zadane 29 kwietnia 2020 w JavaScript przez Rafixstan. Obywatel (1,090 p.)
0 głosów
1 odpowiedź 93 wizyt
pytanie zadane 7 stycznia 2020 w JavaScript przez saseta00 Użytkownik (700 p.)
+1 głos
2 odpowiedzi 195 wizyt

85,805 zapytań

134,588 odpowiedzi

298,787 komentarzy

56,698 pasjonatów

Advent of Code 2021

Top 15 użytkowników

  1. 494p. - rucin93
  2. 463p. - nidomika
  3. 431p. - CC PL
  4. 385p. - Whistleroosh
  5. 379p. - ScriptyChris
  6. 372p. - adrian17
  7. 340p. - TheLukaszNs
  8. 339p. - WhiskeyTaster
  9. 321p. - Argeento
  10. 318p. - Dagohar
  11. 287p. - Anonim 1794483
  12. 281p. - Klaudia
  13. 278p. - B4mbus
  14. 269p. - b0mbix
  15. 246p. - tokox
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...