Facebook喜欢/发送数据-href与og:url Pickle

时间:2011-11-17 22:06:42

标签: facebook facebook-like

我希望用户能够使用Facebook发送按钮向朋友发送指向我网站上页面的链接。页面本身是通用注册页面,但如果存在“referral_code”查询字符串参数,则表示谁引用了该用户。从这个意义上讲,URL是唯一的,即使页面不是。所以,我在名为/ referrals(已加载jssdk)的页面上执行以下操作:

<span class="fb-send" data-href="http://my.domain.com/sign_up?referral_code=unique-to-each-user"></span>

“发送”按钮可以正确打开对话框,但是使用启发式facebook工程师构建的任何选择,它都会在消息中包含一个蹩脚的图像和文本。

我在文档中进一步阅读并发现我可以在/ sign_up页面上使用og:image来指定要使用的图像(只要宽度/高度比率<3!)。

所以,在http://my.domain.com/sign_up上我添加了必要的og标签。

pickle :如果您使用任何 og标记,那么您必须也包含og:url,并且似乎og:url需要优先级。

我的问题是,我是对的og:url优先于data-href吗?如果是这样,我是否可以使用其他技术,允许我在目标页面上包含og标签(静态),同时仍然指定要发送/喜欢的确切URL(动态)?

1 个答案:

答案 0 :(得分:2)

你是对的,Facebook将把OG的价值:url比作为data-href提供的。

然而,ref属性应该做你想要的。从发送按钮docs:

  

ref - 用于跟踪推介的标签;必须少于50个字符   并且可以包含字母数字字符和一些标点符号   (目前+ / = - 。:_)。 ref属性导致两个参数   用户单击流中的链接时添加到引荐来源网址   关于发送动作的故事:

因此,如果您在发送按钮代码中提供ref属性,则引荐ID将添加到传入的URL:

<fb:send data-href="http://my.domain.com/signup" ref="unique-to-each-user"></fb:send> 

以上代码会将其生成为流故事中的URL:

  

http://www.yoursite.com/sign-up?fb_ref=unique-to-each-user&fb_source=message

点击进入您的网站后,您可以获取fb_ref的值并确定哪个用户提供了引荐。