【发布时间】:2011-12-31 03:29:22
【问题描述】:
我遇到了几个问题,想知道是否有人有任何见解。我正在使用最新的 php-sdk 我正在开发一个具有许多不同步骤的画布应用程序。这些步骤分布在多个页面上。现在,当我第一次进入应用程序时,一切似乎都运行良好。访问令牌在那里,我可以调用 api 函数。在第二页(链接到同一个 iframe)上,我收到 OAuth 错误。现在,如果我在第二页上使用它:
$me = $facebook->getUser();
var_dump($me);
它返回正确的用户 ID,但我在尝试使用 api 查询(特别是本例中的 FQL)时仍然出错
现在,请记住这些链接在 iframe 中,所以我假设signed_request 在某个地方丢失了,我知道 facebook 通常通过 POST 发布这个。如果我使用诸如http://apps.facebook.com/myapp/page2.php 之类的 URL 将所有链接设置为 target="_parent",那么一切正常。 Facebook这次清楚地发布了正确的信息。随后,当我使用仅重定向 iframe 的链接时,它似乎又可以正常工作了(暗示在某处设置了 cookie)。
现在我看到其他没有 target="_parent" 的应用程序似乎可以正常工作,只是在后续点击时加载 iframe,而不是完整的 facebook 网站。所以我只能假设他们将这些信息存储在某个地方。我尝试使用 httpfox 检查这些应用程序,但看不到任何明显的东西。有没有人有关于多页面应用程序最佳实践的链接?我知道我可以使用完整的 url 和 target="_blank" 来解决这个问题,但我想知道这里发生了什么。我浏览了开发人员文档和画布页面示例,但对我来说没有什么明显的。
任何帮助或信息将不胜感激
非常感谢
【问题讨论】:
标签: facebook-php-sdk access-token facebook-canvas