В настоящее время я работаю над проектом и не могу понять, как извлечь данные (например, имя исполнителя / песни / альбома) из MusicBrainz.
Чтобы быть более конкретным
Моя конечная цель - создать что-то похожее на этот скрипт, который работает на DBPedia:
function myQuery(artist,title) {
var DBP = "http://dbpedia.org/sparql";
var query = [
"SELECT DISTINCT ?abstract WHERE {",
"?artist foaf:name \"" + artist +"\"@en .",
"?title a dbo:Song ;",
"dbo:artist ?artist ;",
"foaf:name \"" + title +"\"@en ;",
"dbo:abstract ?abstract .",
"FILTER (langMatches(lang(?abstract),\"it\")) }" ].join(" ");
var queryURL = DBP + "?query=" + encodeURIComponent(query) + "&format=json" ;
return queryURL;
}
Функция myQuery()
вызывается в функции sendQuery()
, которая в основном создает объект xhttp и использует метод GET для сгенерированной строки.
После выполнения HTTP-запроса я получаю JSON-файл с нужными мне результатами.
По тому же пути на конечной точке MusicBrainz SPARQL выдается только ошибка:
Нет заголовка 'Access-Control-Allow-Origin' в запрошенном
ресурс.
Я понимаю, что такое CORS, но все еще не понимаю, как преодолеть это препятствие.
Какой подход я должен придерживаться, чтобы внедрить этот сервис в мою работу?