Я реализую функцию «Поделиться с Facebook» с помощью Angular 7. Общий URL-адрес не выбирает изображение и заголовок из метатегов и, следовательно, не отображает его в общей публикации Facebook.
Изображение получено от стороннего API и динамически обновляется в содержимом метатега, имеющего свойство=og:image. Заголовок динамически добавляется в содержимое метатега, имеющего свойство=og:title.
Ниже приведен код, который я использую для достижения желаемой функциональности:
shareOnFb(title: string, url: string, image: string) {
event.preventDefault();
event.stopImmediatePropagation();
// Dynamically gather and set the FB share data.
var FBDesc = title;
var FBTitle = title;
var FBLink = url;
var FBPic = image;
this.fb.ui({
method: 'share',
action_type: 'og.shares',
action_properties: JSON.stringify({
object: {
'og:href': FBLink,
'og:name': FBTitle,
'og:description': 'Test Description',
'og:picture': FBPic,
}
})
});
}
Я обновляю метатеги страницы, используя приведенный ниже код:
updateTags(url: string, title: string, image: string) {
this.meta.updateTag({ property: "og:url", content: url });
this.meta.updateTag({ property: "og:title", content: title });
this.meta.updateTag({ property: "og:image", content: "image" });
this.meta.updateTag({ property: "og:site_name", content: title });
this.meta.updateTag({ property: "og:description", content: title });
}
Ниже приведены ссылки, с которыми я уже консультировался, прежде чем публиковать здесь свой вопрос, и я не могу решить свою проблему, используя справку отсюда:
- Использование пользовательского интерфейса share_open_graph Facebook для создания диалогового окна динамического обмена результатами теста
- https://github.com/zyra/ngx-facebook/issues/104
- С "изображением" в диалоговом окне ленты Facebook устарело, как я могу опубликовать ссылку на изображение?
- Динамическое добавление метаописания на основе маршрута в Angular