【问题标题】:How can I know if my facebook app has been installed to some page by another admin whom I dont know?我如何知道我的 Facebook 应用程序是否已被我不认识的其他管理员安装到某个页面?
【发布时间】:2012-10-04 19:10:56
【问题描述】:

我让用户使用 FB.ui(方法 => 'page_tab')在他们的粉丝页面上安装我的应用。

当他们安装它时,我调用 OpenGraph 来检索已安装应用程序的每个页面的元数据 (graph.facebook.com/{page_id})。这给了我一个属性“has_added_app”,通过它我可以知道哪些页面安装了我的应用程序。

问题是:如果同一页面的另一个管理员(不是我的用户)在同一页面中安装了该应用程序... 我怎么会知道 ? 'has_added_app' 标志会设置为 true 吗?

在这种情况下会产生误导,因为我的用户没有“has_added_app”(它是另一个用户)。

【问题讨论】:

  • 监视你的用户是不道德的。
  • 我正在努力不请求 manage_pages 权限(我认为它的权限太多;))如果我找到一种我不想向任何人请求 manage_pages 的方法,那将是在监视他 :)
  • 如果它有管理页面,没有人会安装它,除非它是专门的页面管理应用程序。具有管理页面的应用程序可以任意管理页面,包括作为页面发布、更改页面信息、删除任何人的帖子或 cmets,以及可能修改页面所有权。您可能已经知道这一点,但要求这样的东西有点过分。

标签: ruby facebook facebook-graph-api facebook-opengraph facebook-apps


【解决方案1】:

为什么需要这样检查? 在页面标签应用程序的每个页面加载时发送到您的应用程序的signed_request 将包含page 对象中的页面ID - 除非页面没有人访问标签,否则您将能够快速构建页面列表您的应用安装在

【讨论】:

  • 是的,但是我想向在他的页面上安装我的应用程序的管理员收费,所以我需要确保他在向他收费之前安装了我的应用程序,我知道他可以在我不知情的情况下安装我的应用程序(通过使用网址
  • 当我在他的页面 ID 上激活我的应用程序时,我需要向管理员收费。所以我需要知道他的页面的ID。如果我直接要求该 ID,则没有问题,但用户(如果您愿意,社区经理)不会用 ID 说话(那将是可用性失败:P),所以我需要为他提供一个界面,通过该界面他选择了他想要安装应用程序的位置。请求“页面管理”权限是一种简单的方法,但我不喜欢任何人对我的所有粉丝页面都拥有管理权限,所以不要这样做。
  • 另一种方法是(如您所建议的)要求他访问需要安装应用程序的粉丝页面,并在他访问该 ID 时捕获该 ID...但这有一些问题(如何我是否确保他访问的下一页是他打算安装我的应用程序的页面?)
  • 一个解决方案是:在 facebook 页面内做所有事情:他首先在他的页面上安装应用程序,然后访问它,然后他显示了一个管理界面,所以我知道应用程序已安装,并且他是管理员,然后为每个活动向他收费(如果另一个用户在页面中访问该应用程序,他将看到一条 WIP 消息)。我只是不太喜欢这个解决方案:我宁愿只在他的页面上安装我的应用程序,当它对用户有效时,preveiting WIP 消息。
  • 正如每个人似乎都要求的那样,解决方案是请求“manage_page”,但只有一页:stackoverflow.com/questions/10633524/…
猜你喜欢
  • 1970-01-01
  • 2011-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-06
  • 2014-03-12
相关资源
最近更新 更多