#angular #typescript #metadata #api-linkpreview
Вопрос:
У меня проблема с созданием предварительного просмотра ссылок в чате для моего веб-сайта. Когда пользователь вводит URL-адрес в свой чат. Предварительный просмотр этой ссылки будет показан в окне чата, для этого мне нужно получить метаданные в элементе ресурса (по этому URL-адресу), например: <meta property="og:image" content="https://baomoi-static.zadn.vn/web/styles/img/facebook-thumb.png">
. В проекте углового машинописного текста я использую head() метод HttpClient, как показано ниже.
getMetaData(url: string) {
let headers = new HttpHeaders();
headers = headers.append('Access-Control-Allow-Headers', '*');
headers = headers.append('Access-Control-Allow-Methods', '*');
headers = headers.append('Access-Control-Allow-Origin', '*');
const options = {
headers: headers,
reportProgress: true,
responseType: 'json',
};
return this.http.head(url, <HttpOptions>options);
}
Но когда я использую этот метод httpclient, я получил такую ошибку. Кто-нибудь может помочь решить эту проблему или дать решение для получения метаданных в определенном URL. Я работаю с проектом angular typescript.
Комментарии:
1. если вы получаете ошибку во внешнем интерфейсе для cors, вы мало что можете с этим поделать. Свяжитесь со своим внутренним tesm, они должны установить правильный набор заголовков cors, и вы не получите это сообщение
Ответ №1:
Измените код следующим образом и попробуйте.
getMetaData(url: string) {
let headers = new HttpHeaders();
headers = headers.append('Access-Control-Allow-Headers', '*');
headers = headers.append('Access-Control-Allow-Methods', '*');
headers = headers.append('Access-Control-Allow-Origin', '*');
headers = headers.append('Access-Control-Allow-Credentials', true);
const options = {
headers: headers,
reportProgress: true,
responseType: 'json',
};
return this.http.head(url, <HttpOptions>options);
}