我正在开发一个MEAN堆栈应用程序(Mongo,Express,Angular,Node),我想在Facebook的乐趣页面上分享一些页面并拥有像这样的个性化链接。 https://www.evernote.com/shard/s414/sh/6c61c036-abc6-4eb9-b355-41af05760979/45fce4c1795580266f1247dba3452d62/res/31e7a3bd-7258-4910-bb05-5e2e61cd2d96/skitch.png
我正在使用动态og标记在共享链接上显示不同的数据
<html itemscope itemtype="http://schema.org/Article">
<!-- Open Graph -->
<meta property="og:title" content="{{og_title}}" />
<meta property="og:type" content="article" />
<meta property="og:url" content="{{og_url}}" />
<meta property="og:image" content="{{og_image}}" />
<meta property="og:description" content="{{og_description}}" />
<meta property="og:site_name" content="MYSITENAME" />
<meta property="fb:admins" content="MYAPPID" />
这些变量由$ http.get()
从服务器检索我正在使用在我的EC2实例(在端口3000上)上运行的prerender.io服务器,以便能够完美地抓取我的javascript页面。
app.use(require('prerender-node').set('prerenderServiceUrl', 'http://'+ config.DNS +':3000/'));
Prerender工作正常,因为当我输入
http://DOMAINE.com:3000/http://DOMAINE.com/items/5376899f3230687806000016
我得到了该页面的快照,当我显示该页面的代码源时,我得到了正确的数据。
<!-- Open Graph data -->
<meta property="og:title" content="Pink floyd CD">
<meta property="og:type" content="article">
<meta property="og:url" content="DOMAINE.com:80/items/53763aad67afe39d05000017">
<meta property="og:image" content="https://fpid.s3.amazonaws.com/items/4748_DarkSideOfTheMoon.jpg">
....
我的问题是我在Facebook上分享这个网址
http://DOMAINE.com/items/5376899f3230687806000016
而不是获得与图像,标题和描述的良好链接,我得到这个糟糕的链接
答案 0 :(得分:4)
您将不得不创建一个页面,该页面通过具有相应信息的节点从服务器呈现。您可以通过检查facebook用户代理并在节点中提供不同的页面/路由(而不是角度应用程序)来执行此操作。该页面只需要显示og标签。
答案 1 :(得分:0)