我遇到了几个问题,想知道是否有人有任何见解。我正在使用最新的 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" 来解决这个问题,但我想知道这里发生了什么。我浏览了开发人员文档和画布页面示例,但对我来说没有什么明显的。
任何帮助或信息将不胜感激
非常感谢