Я просто хочу сделать запрос к API Udemy и показать курсы, которые я изучаю из своей учетной записи Udemy, но я изо всех сил пытаюсь подключиться к их базе данных. Я полагаю, что это как-то связано с носителем токена, который я им посылаю.
Здесь - это объяснение Удеми.
В своей первой попытке я использовалидентификатор клиента и секрет, который они дали мне в этом формате:
axios.get('https://www.udemy.com/api-2.0/courses/?category=title_cleaned', { headers:myclientID':'myClientSecret' }})
.then(response => {
this.setState({ udemy: response.data})
console.log(response.data)
})
.catch(error => {
console.log(error)
})
console.log(this.state.udemy)
}
, но получил следующую ошибку:
localhost/:1 Access to XMLHttpRequest at 'https://www.udemy.com/api-2.0/courses/?
category=title_cleaned' from origin 'http://localhost:3000' has been blocked by CORS policy:
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-
Origin' header is present on the requested resource.
App.js:32 Error: Network Error
at createError (createError.js:17)
at XMLHttpRequest.handleError (xhr.js:80)
xhr.js:166 Cross-Origin Read Blocking (CORB) blocked cross-origin response
https://www.udemy.com/api-2.0/courses/?category=title_cleaned with MIME type text/html. See
https://www.chromestatus.com/feature/5629709824032768 for more details.
Я пыталсячтобы изменить формат с токеном на предъявителя, который был сгенерирован, когда я поместил свой идентификатор клиента и секрет на их веб-сайт:
axios.get('https://www.udemy.com/api-2.0/courses/?category=title_cleaned', {headers:{ Authorization: "Bearer myBearerTokenNumber"}})
.then(response => {
this.setState({ udemy: response.data})
console.log(response.data)
})
.catch(error => {
console.log(error)
})
console.log(this.state.udemy)
}
Я получил то же сообщение об ошибке, что и раньше:
Access to XMLHttpRequest at 'https://www.udemy.com/api-2.0/courses/?category=title_cleaned'
from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight
request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present
on the requested resource.
App.js:32 Error: Network Error
at createError (createError.js:17)
at XMLHttpRequest.handleError (xhr.js:80)
xhr.js:166 Cross-Origin Read Blocking (CORB) blocked cross-origin response
https://www.udemy.com/api-2.0/courses/?category=title_cleaned with MIME type text/html. See
https://www.chromestatus.com/feature/5629709824032768 for more details.
Я не знаю, мешает ли мне мой формат подключиться к их базе данных или их политика CORS запрещает этому URL-адресу делать вызовы в их базу данных.