Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Facebook标签中进行任何类型的信息共享?_Facebook_Actionscript 3_Fbml_Fbjs - Fatal编程技术网

如何在Facebook标签中进行任何类型的信息共享?

如何在Facebook标签中进行任何类型的信息共享?,facebook,actionscript-3,fbml,fbjs,Facebook,Actionscript 3,Fbml,Fbjs,首先,我为这个问题的长度和询问Facebook API(似乎是世界上最不一致的API之一…)表示歉意 情况: 我们正在为我们的客户制作一个Facebook产品“社区”类型的页面,以标准Facebook标签为特色,其中一个嵌入了Flash游戏。在游戏结束时,我们希望能够通过墙贴分享用户的最终分数,并邀请朋友挑战分数 首先-客户端坚持游戏出现在页面内的选项卡上,因此将所有内容移动到应用程序(例如,apps.facebook.com)是不可取的。我知道您可以在tab上嵌入应用程序,而不是静态FMBL,

首先,我为这个问题的长度和询问Facebook API(似乎是世界上最不一致的API之一…)表示歉意

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

首先-客户端坚持游戏出现在页面内的选项卡上,因此将所有内容移动到应用程序(例如,
apps.facebook.com
)是不可取的。我知道您可以在tab上嵌入应用程序,而不是静态FMBL,但我已经尝试过了,结果基本相同或失败(tab对可以呈现的内容施加了严格的限制,强制使用FBML并取消了
FB:Iframe
标记)

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

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

1) 用户在游戏结束时单击选项卡页面上的“共享我的分数”

2) 通过打开一个新选项卡来执行标准Facebook“登录应用程序”请求

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

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

5) SWF执行
facbook.verifySession()
并打开另一个窗口,请求在用户的墙上发布权限

6) 用户确认这一点,并再次被带回游戏

7) SWF侦听“FacebookEvent.PERMISSIONS\u CHANGED”,并在确认后发布到墙上

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

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

我看到了这一点:这确实是我要问的同一个问题,但答案不清楚,而且似乎无法解决我的问题。

使用
标记将为您解决所有这些问题。如果您未登录,单击
链接,它将要求您登录,如果您尚未接受该应用程序,它将要求您接受该应用程序,然后将您想要的内容发布到他们的墙上。我在我的网站上这样做是为了分享产品而不是游戏分数,但同样可以做到

编辑:


看看这本书。如果您使用的是flash,我建议您使用FB选项卡应用程序SWFs在flashvars中接收会话密钥,该密钥可以交换为oauth令牌!确实帮了我的忙。

谢谢你的回答,但我需要能够在flash应用程序中调用此功能。我想知道是否可以通过FBJS调用实现相同的功能?这对我来说是最好的解决办法,但我还没有看到这样做anywhere@bharling:乔斯特的回答对你有用吗?我也对这个解决方案感兴趣。如果这不起作用,我建议使用iframe应用程序(可以启用选项卡)和JSSDK从flash调用graph api。应该是非常无缝的,可以在用户上下文中进行调用,而无需任何变通方法。