【发布时间】:2012-03-20 18:27:27
【问题描述】:
我正在使用 fb.ui 发送方法来允许用户通过 Facebook 共享链接。 (例如http://example.com/affiliateid=myuseraffiliateid) 我的问题是共享页面的og:url没有这个参数,而且og:url总是优先。
使用 Facebook 发送按钮,我可以发送一个 fb_ref 参数,所以共享 url 是http://example.com/fb_ref=myuseraffiliateid。这个解决方案对我来说没问题,我只需要在我页面的服务器端代码中设置affiliate_id = fb_ref。 但是,我不能使用 facebook 发送按钮,因为我需要预先填充“to”字段。
简而言之,我正在寻找一种将这个 fb_ref 属性添加到发送的链接的方法。
也许代码比纯文本更容易理解,所以这里是:
这是发送对话框的 JS 调用代码:
FB.ui({
method: 'send',
link: "http://www.example.com/affiliateid/myuseraffiliateid",
to: [11111,22222,33333],
});
使用此方法,得到的共享链接等于指定的 og:url(即http://www.example.com)。
这里是实际工作的 fb:send 按钮,但没有预先填充“to”
<fb:send
href="http://www.example.com"
ref="myuseraffiliateid"
></fb:send>
现在,由于我们为发送按钮指定了“ref”属性,因此共享链接为“http://www.example.com/fb_ref=myuseraffiliateid”。
我需要的是使用 fb.ui 重现 ref 属性...
【问题讨论】:
-
你能把你的 URl 结构改成 example.com/?affiliateid=myuseraffiliateid 而不是 example.com/affiliateid=myuseraffiliateid 吗?在这种情况下,您的 og:url 没有affiliateid 应该可以正常工作..
-
糟糕,我一直在撒谎:这是实际的 url 结构:example.com/affiliateid/myuseraffiliateid。我现在会试试你的答案,用“example.com/?fb_send=myaffiliateid”替换这个 URL(我这样做更容易,而不是 ?affiliate_id...
-
耶啊啊啊啊!!!!谢谢老兄:) 你能把你的评论添加为正确的答案,这样我就可以把它标记为已解决?
标签: javascript facebook-graph-api facebook-javascript-sdk