【问题标题】:facebook canvas app - reveal page issuefacebook 画布应用程序 - 显示页面问题
【发布时间】:2024-04-22 22:20:02
【问题描述】:

它是一个显示页面应用程序和

应用程序通过signed_request检查用户是否喜欢粉丝页面,如果不是,它会显示一个像我们一样的图像,否则它会向粉丝显示内容。

当有人访问粉丝页面时,这可以正常工作,即应用程序作为标签在粉丝页面中运行。例如http://www.facebook.com/myfanpage?sk=app_xxxxxxxxxxxxxx

如果有人直接访问应用程序,例如http://apps.facebook.com/myappname 它总是显示像我们一样的图像,无论用户是否已经喜欢。

有没有办法检查应用程序是如何被访问的?直接还是作为粉丝页面中的标签?我不能在 javascript 中使用'top.location.href',它返回 null 我猜是因为跨域的明显原因,即应用程序是从其他域而不是在 facebook 上运行的。

问候

【问题讨论】:

  • 签名请求是在页面选项卡上的 POST 请求中发送的,因此如果您的应用程序作为画布应用程序加载(顺便说一句,您为什么这样做?),您可以很容易地检测到这一点在页面标签上,您需要获得用户的许可才能查看他们的喜欢,除非他们的喜欢是公开的
  • :) 是的,如果我有用户通过页面选项卡来的签名请求,很简单。谢谢
  • @Igy 我刚刚检查过,如果你直接访问,你会得到签名的请求,而不是像信息这样的页面。 if($signed_request = parsePageSignedRequest()) { if($signed_request->page->liked) {

标签: php facebook facebook-graph-api


【解决方案1】:

您可以使用 Facebook JavaScript SDK 以 https://graph.facebook.com/PROFILE_ID/likes/PAGE_ID 的形式调用 Graph API URL 并查看用户是否喜欢您的页面。

有关文档,请参阅此链接:http://developers.facebook.com/docs/reference/api/user/#likes

【讨论】:

  • 没有问题。如果这个答案对你有用,那么请接受它作为答案。谢谢。
最近更新 更多