After three days of research, a solution was found for sharing facebook with dynamic content
in index.html:
<meta property="og:type" content="website" /> <meta name="fbDescription" property="og:description" content="desc"> <meta name="fbJobTitle" property="og:title" content="title"> <meta property="fb:app_id" content="ur app id" /> <meta name="fbImage" property="og:image" content="url"> <meta property="og:site_name" content="site name" />
Install npm package
npm i --save ngx-facebook
In your application .module
import { FacebookModule } from 'ngx-facebook'; imports:[FacebookModule.forRoot()]
in your service or component add
import { Meta } from '@angular/platform-browser'; providers: [ApiService, CommonDataService, FacebookService] constructor(private fbk: FacebookService){ fbk.init({ appId: 'yourappid', cookie: true, status: true, xfbml: true, version: 'v2.8' }); } (function (d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_US/all.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));
in your button click add
this.meta.updateTag({ property: 'og:type', content: 'website' }); this.meta.updateTag({ property: 'og:site_name', content: 'websitename' }); this.meta.updateTag({ property: 'og:title', content: 'title'}); this.meta.updateTag({ property: 'og:description', content: 'Description'}); this.meta.updateTag({ property: 'og:image', content: 'url' }); this.fbk.ui({ method: 'share_open_graph', action_type: 'og.shares', action_properties: JSON.stringify({ object: { 'og:title': 'title', 'og:description': 'description', 'og:image': 'imagelink', 'og:url': referlink, } }) });
reference URL: http://drib.tech/programming/dynamically-change-facebook-open-graph-meta-data-javascript
Hope this helps !!
priya_21
source share