【问题标题】:How to do any type of info sharing from within a Facebook tab?如何在 Facebook 标签中进行任何类型的信息共享?
【发布时间】:2011-04-15 14:40:54
【问题描述】:

首先为这个问题的长度道歉,并询问 Facebook API(似乎是世界上最不一致的 API 之一......)。

情况: 我们正在为我们的客户制作一个 Facebook 产品“社区”类型的页面,其中包含标准的 Facebook 选项卡,其中一个嵌入了 Flash 游戏。在游戏结束时,我们希望能够通过墙贴分享用户的最终得分,并邀请朋友挑战得分。

首先 - 客户坚持让游戏出现在页面内的一个选项卡上,因此将这一切移至应用程序(例如,apps.facebook.com)很遗憾不是一个选项。我知道您可以在选项卡上嵌入应用程序而不是静态 FMBL,但我已经尝试过,结果基本相同或失败(选项卡对可以呈现的内容施加严格限制,强制使用 FBML 并否定FB:Iframe 初学者标签)。

目前我们将此游戏嵌入到静态 FBML 选项卡上,使用fb:swf 标签和 FBJS-bridge 来启用选项卡上的一些简单交互(导航到新窗口等)。我们还尝试了 FBJS 嵌入方法,将游戏制作成应用程序并将其添加为页面上的选项卡。在所有情况下,似乎都无法在选项卡环境中获取查看用户的 UID(尽管他们必须首先登录才能查看页面)。游戏本身是 Flash ActionScript 3,我可以选择使用 Facebook ActionScript 3 API。使用这种方法,到目前为止我设法提出的最佳流程概述如下:

0) 创建一个单独的应用程序,其唯一目的是处理分数共享等。

1) 用户在游戏结束时点击 TAB 页面上的“分享我的分数”。

2) SWF 通过打开一个新标签来执行标准的 Facebook“登录到应用程序”请求。

3) 用户确认此操作并关闭新窗口。

4) 用户在 Flash 游戏中再次单击以确认他们已登录。

5) SWF 执行facbook.verifySession() 并打开另一个窗口,请求允许在用户的墙上发帖。

6) 用户确认后再次回到游戏中。

7) SWF 侦听“FacebookEvent.PERMISSIONS_CHANGED”并在确认后发布到墙上。

由于无法验证用户在加载选项卡时是否添加了应用程序,因此他们很可能每次想要发布游戏结果时都必须遵循此过程,这很可怕。主要问题似乎是,驻留在 Facebook 选项卡上的任何 RIA 在该选项卡的 OAuth 令牌中都没有收到有用的信息,而位于 apps.facebook.com 上的 RIA 则在请求标头中获取我需要的所有信息。

简而言之,我需要最简单、最直接的方法从 Facebook 产品页面选项卡中制作 Facebook 墙贴,无论是使用 FMBL、FBJS、ActionScript 3、ASP 还是它们的任何组合。

我见过这个:https://stackoverflow.com/questions/3674923/facebook-share-or-publish-dialogue-from-page-tab-closed 这确实是我要问的同一个问题,但答案不清楚,而且似乎不能解决我的问题。

【问题讨论】:

    标签: facebook actionscript-3 fbml fbjs


    【解决方案1】:

    使用<fb:share> 标签将为您完成所有这些工作。如果你没有登录,点击<fb:share>链接,它会要求你登录,如果你还没有接受申请,它会要求你接受,然后在他们的墙上发布你想要的.我在我的网站上这样做是为了分享产品而不是游戏分数,但它可以完全一样。

    编辑:

    查看Graph API for publishing。如果您使用的是闪存,我建议您使用Facebook Flash SDK

    【讨论】:

    • 感谢您的回答,但我需要能够从 Flash 应用程序中调用此功能。我想知道是否可以通过 FBJS 调用实现相同的功能?这对我来说是最好的解决方案,但我还没有看到任何地方这样做过
    • @bharling:jostster 的回答对你有用吗?我也对解决方案感兴趣。
    【解决方案2】:

    FB 选项卡应用程序 SWF 在 flashvars 中接收会话密钥,可以将其交换为 oauth 令牌! http://fraserhobbs.com/2010/07/flash-facebook-graph-api-in-tabs/真的帮了我一把。

    【讨论】:

    • 如果这不起作用,我建议使用 iframe 应用程序(可以启用选项卡)并使用 js sdk 从 Flash 调用图形 api。应该非常无缝地在用户上下文中进行调用而无需任何解决方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-14
    • 2019-11-15
    • 2016-10-04
    • 1970-01-01
    • 1970-01-01
    • 2015-10-21
    • 2018-03-20
    相关资源
    最近更新 更多