【问题标题】:check if user likes a facebook canvas app检查用户是否喜欢 Facebook 画布应用
【发布时间】:2012-11-21 12:03:19
【问题描述】:

我有一个画布应用程序,它尝试使用以下代码检查用户是否是粉丝:

$params = array(
 'method' => 'fql.query',
  'query' => "SELECT uid FROM page_fan WHERE page_id='MY_APP_ID' and uid = me()",
);

$result = $facebook->api($params);

$result[0] 未设置,因此为空,即使我喜欢该应用程序。 有什么建议吗?

谢谢

【问题讨论】:

  • 您是否申请了user_likes permission
  • 据我所知,仅当您通过 javascript SDK 进行操作时才需要 user_likes 权限,而不是服务器端调用。
  • 所以这是你的错误:) 无论你如何检索它,你都必须请求该权限。如果没有,权限有什么用?
  • 好吧,让我试试,附带一个问题:当我为我的应用更新权限集时,那些已经授予旧权限的用户是否也必须授予新权限?
  • 绝对是。这完全取决于您如何实现权限请求。在我看来,您只是将权限直接输入到您在 Facebook 上的应用程序设置中。如果是这种情况,我不能 100% 确定它会如何表现(但测试它应该不会太难)。如果您手动启动权限对话框,则必须测试用户是否已授予权限,如果没有,则必须再次启动权限对话框。

标签: facebook facebook-like facebook-fql facebook-php-sdk


【解决方案1】:

这里似乎有两个可能的问题 -

  1. 您尚未向您的用户请求user_likes 权限。您需要此权限才能访问用户“喜欢”的任何数据。

    无论您打算如何检索信息,服务器端或客户端,无论是否使用 SDK,都需要此权限。

  2. 您在 FQL 查询中指定了应用程序的 ID,而不是 PAGE_ID。用户不能像不能“喜欢”其他用户一样“喜欢”应用程序。

您可以在“应用程序详细信息”页面中为您的应用程序创建一个页面。您可以导航到https://developers.facebook.com/apps/APP_ID/appdetails 并向下滚动到“联系信息”部分。在那里你会看到一个“创建 Facebook 页面”按钮。

一旦您创建了一个应用页面,您就可以使用它的PAGE_ID 让您的用户“点赞”它,然后就可以在您的应用程序中验证点赞操作。

【讨论】:

  • 谢谢!经过7个小时的奋斗,我终于得到了它。
  • @ast - 乐于助人 :) 下次不要等太久来这里寻求帮助 :P
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-13
  • 2017-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多