我将Blogger用作SPA网站。用户可以分享到Facebook的帖子。 每个帖子在请求URL中都是相同的?id = {posts_id},{post_id}由Javascript解析,并从JSON数据中查找帖子。
但Facebook共享抓取工具不支持SPA网站读取他们的og:标签。 因此,我们需要使用Facebook Crawler来读取来自其他URL的og:标签。
我尝试过多种方式使用href =""制作Blogger响应HTML包含完整请求的URL。
这是我的尝试:完整的网址是:www.abc.com/2016/07/31.html?id = 1
<link expr:href='data:blog.url' rel='opengraph'/>
Will generate with HTML
<link href='www.abc.com/2016/07/31.html' rel='opengraph'/>
有没有办法让Blogger从HTML响应代码中显示完整请求的网址?
感谢您提前
答案 0 :(得分:0)
如果您正在使用Blogger发布的新主题(请参阅this)。然后,您可以使用以下代码来实现您的需求 -
<b:if cond='data:view.isPost'>
<link expr:href='data:blog.url + "?id=" + data:view.postId' rel='opengraph'/>
</b:if>
这将生成表单的URL -
www.abc.com/2016/07/post-title.html?id=PostID
PostID
将是Blogger为每个帖子分配的唯一ID。这将仅在帖子页面上呈现。
要在静态页面上进行此操作,请将以下代码添加到模板 -
<b:if cond='data:view.isPage'>
<link expr:href='data:blog.url + "?id=" + data:view.pageId' rel='opengraph'/>
</b:if>
要使用页面ID获取页面内容的数据,请将请求发送到以下端点 -
https://www.blogger.com/feeds/BlogID/pages/default/PageID?alt=json
将BlogID
和PageID
替换为实际值