0

我正在尝试在 facebook 自定义 Action 帖子中添加指向 [object] 的自定义链接(下方标记为红色)。

在此处输入图像描述

这是我的代码:

FB.api('/me/testapponens:cook', 'post',
{ recipe: 'http://foobar.com/page1.html' },
   function(response) {
     if (!response || response.error) {
        alert('Error occured');
     } else {
        alert('Cook was successful! Action ID: ' + response.id);
     }
});

现在,因为我已经http://foobar.com/page1.html在我的“食谱”中声明了“”,所以在发布此内容时,将从该页面中选择开放图属性。

问题:我需要将链接显示为第三方链接 www.thirdparty.com/page1.html 但打开的图形元属性不能写入thirdparty.com/page1.html(因为我对该页面没有任何控制权)。

所以,我决定这样做:

i) Create a dummy page : www.foobar.com/page1.html.
ii) Add all the og meta to it.
iii) Add a redirect (javascript) code to the dummy page so that it goes to the third party page.

www.foobar.com/page1.html看起来像这样:

<html ...>
<title> Page 1 </title>
 <meta property="fb:app_id"            content="..." /> 
...
<script type="text/javascript">
function redirect1()
{
    window.location = "http://thirdparty.com/page1.html"
}
</script>
</head>
<body onLoad="redirect1()"></body>
</html>

问题:我认为这是一种 hacky 方法,用户可能无法接受。有没有更好的方法来做到这一点?如果我无法解释我打算做什么,请告诉我。

PS:我不是垃圾邮件发送者,第三方页面来自客户,我不想误导用户。

4

1 回答 1

1

我认为这是一种 hacky 方法,用户可能无法接受。有没有更好的方法来做到这一点?

你可以做一个服务器端重定向,检查用户代理——只有当它没有表明是 Facebook 爬虫时,才重定向客户端,否则让爬虫从你的页面读取 OG 元信息。

如何检测 FB 刮板:https ://developers.facebook.com/docs/reference/plugins/like/#scraperinfo

于 2012-12-10T09:07:15.100 回答