【发布时间】:2014-12-30 20:44:43
【问题描述】:
我正在尝试将我的 Meteor 应用程序与 Facebook Open Graph 集成,以在时间线中发布操作。
Facebook API 通过在 HTML 头中定义对象特定的元标记来工作,这些元标记将由 API 读取。例如:
<head prefix="og: http://ogp.me/ns# [YOUR_APP_NAMESPACE]:
http://ogp.me/ns/apps/[YOUR_APP_NAMESPACE]#">
<title>OG Tutorial App</title>
<meta property="fb:app_id" content="[YOUR_APP_ID]" />
<meta property="og:type" content="[YOUR_APP_NAMESPACE]:recipe" />
<meta property="og:title" content="Stuffed Cookies" />
<meta property="og:image" content="http://fbwerks.com:8000/zhen/cookie.jpg" />
<meta property="og:description" content="The Turducken of Cookies" />
<meta property="og:url" content="http://fbwerks.com:8000/zhen/cookie.html">
</head>
但是,Facebook API 在检查任何 URL 时看到的是这样的:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="/ed99236548322b46a7562b49cd6ee0e0f059e506.css">
<script type="text/javascript" src="/c16ff21884b1f831d91ebf271236ef78b03b552e.js"></script>
<title>Made with Meteor!</title>
</head>
<body>
</body>
</html>
在 Meteor 应用程序中集成此元标记的最佳方式是什么?可能会根据 URL 发生变化?
【问题讨论】:
-
谢谢劳埃德。但这是否意味着在当前的 Meteor 版本 (0.3.7) 中无法实现这一目标?没有解决办法?
-
Meteor 不会在
body中提供静态内容,但您的 Open Graphmeta标签应该出现在head中。至少,它对我有用。 -
仍在努力,但在 Meteor 实现正确的服务器路由之前,目前的解决方案是编写我们自己的路由逻辑(参见 stackoverflow.com/questions/10119777/…)。
-
只是指出这在 server.js 中没有被黑。只需将其添加到服务器端的
Meteor.startup()即可。
标签: meteor