1

我正在构建一个使用 Open Graph 的 Facebook 画布应用程序。因此,例如,该应用程序从http://www.mysite.com/中提取内容,将发布到时间线的操作称为“Duncan在我的应用程序上完成了MyObject

单击我的应用程序会在 Facebook 上打开应用程序页面。但是,单击MyObject链接会打开实际页面,其中我的所有元数据都添加到 Facebook www.mysite.com 之外

我真的只是希望两个链接都能在 Facebook 中打开应用程序。我在这里错过了一个技巧还是我执行重定向或其他什么的唯一解决方案?

我知道我需要让 Facebook 解析 mysite.com 才能获取元数据。但是,将 og:url 设置为我的应用程序的 url 并没有什么不同。

4

2 回答 2

1

我遇到了同样的问题。我最终制作了一个单独的 .jsp 文件,该文件在页面中写入了所有 og: 标签,并且在正文中它只包含:

<script>
    location.href = "<%=redirectUrl%>";
</script>

redirectUrl 变量是我从原始请求的 URL 计算的字符串,它类似于“http://apps.facebook.com/xxxyyy?myParam=zzz”。当然,它可以是任何东西,可以是 PHP 或您使用的任何语言。

当您将操作发布到 Open Graph 时,请使用带有重定向的页面作为对象 URL。Facebook 会很好地解析 og 标签,当真正的浏览器读取页面时,它会将用户重定向到您的 Facebook 应用程序。

于 2012-09-05T06:38:47.800 回答
0

我有同样的问题,不确定我是否遗漏了一些非常明显的东西。

我有一个 PHP 文件,它遵循 Facebook 的示例文件。但是当单击时间轴故事上的对象时,我注意到以下 GET 参数:fb_source=timeline_og

因此,为了解决重定向问题,我将以下内容放在文件顶部,就在 PHP 标记内:

<?php
    if ($_GET['fb_source'] == 'timeline_og') {
        // clicked on link in timeline, so redirect to required URL
        header('Location: REDIRECT_URL_HERE');
    }

(显然,替换REDIRECT_URL_HERE为您希望重定向到的任何 URL。)

希望有人会发现这很有用!

于 2012-10-13T15:28:47.353 回答