代码之家  ›  专栏  ›  技术社区  ›  antpaw

发送Facebook通知

  •  1
  • antpaw  · 技术社区  · 16 年前

    我有一个用Rails和FaceBooker插件编写的Facebook iFrame应用程序。我可以循环访问用户的朋友,看看他们是否也有这个应用程序。为此,我使用一个FQL查询和我自己的HTML(没有FBML)。现在我想在每个没有这个应用的朋友旁边创建一个按钮,它发送一个邀请按摩。如果没有FBML/JS Voodoo可以这样做吗?我浏览了一下RESTfulAPI,但唯一能找到的是 this deprecated method :(

    有人能给我一个关于如何做到这一点的代码示例吗?

    我真的不想使用这个fbml的东西,因为它不符合应用程序的UI概念,但是如果这是唯一的方法,请解释如何做到这一点(我尝试过的每个fbml标签都是不可见的:()

    谢谢。

    2 回复  |  直到 10 年前
        1
  •  1
  •   bkaid    14 年前

    目前对于邀请,您只能使用fb:request表单。FB内部:申请表需要以下标签

    fb:multi-friend-selector
    

    这样地:

    <fb:fbml>
      <fb:request-form
      action="index.php" 
      method="POST" 
      invite="true" 
      type="YOUR APP NAME" 
      content="Your text goes here. <?php echo htmlentities("<fb:req-choice url=\"YOUR CANVAS URL\" label=\"Authorize My Application\"") ?>" > 
      <fb:multi-friend-selector showborder="false" actiontext="Invite your friends to use YOUR APP NAME."> 
      </fb:request-form>
      </fb:fbml>
    

    这将显示带有“邀请”按钮的朋友选择器,用户需要选择朋友并单击“邀请”。但对于您来说,最好使用fb:request form submit而不是fb:multi friend selector,其uid=“target frien user id”如下所示:

    <fb:fbml>
      <fb:request-form
      action="index.php" 
      method="POST" 
      invite="true" 
      type="YOUR APP NAME" 
      content="Your text goes here. <?php echo htmlentities("<fb:req-choice url=\"YOUR CANVAS URL\" label=\"Authorize My Application\"") ?>" > 
      <fb:request-form-submit uid="TARGETUID"/> 
      </fb:request-form>
      </fb:fbml>
    

    这个按钮只显示一个按钮来邀请指定的人。然而,Facebook表示将拒绝FB:请求表单提交,但它仍然有效。

    为了显示fbml,您需要使iframe应用程序xfbml,为此,您需要包括facebook javascript库。然后把你想要的FBML放进去。

        2
  •  1
  •   webguydan    16 年前

    不幸的是,使用iframe应用程序的唯一选项是使用fb:serverfbml方法。其中,您可以使用fb:请求表单。

    见: http://wiki.developers.facebook.com/index.php/Fb:serverFbml

    这绝对不是我希望实现的方式,但它是有效的。

    推荐文章