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
Facebook 是否可以通过应用程序共享整个Fb应用程序画布页面?_Facebook_Iframe_Facebook Apps - Fatal编程技术网

Facebook 是否可以通过应用程序共享整个Fb应用程序画布页面?

Facebook 是否可以通过应用程序共享整个Fb应用程序画布页面?,facebook,iframe,facebook-apps,Facebook,Iframe,Facebook Apps,我正在开发一款照片比赛fb应用程序,可以在粉丝页面标签中运行。用户应该能够共享照片,以便其他人为他们投票。 假设iframe中的图像链接用于特定照片,则按share将通过iframe共享此链接。这将导致主机应用程序本身。 我需要的是在其Iframe中与open共享整个fb应用程序选项卡页面url。 这有可能吗? 谢谢你的帮助 当然是。您所要做的就是能够从应用程序画布URL提取信息。如果画布URL如下所示: https://apps.facebook.com/ImadBakir https://

我正在开发一款照片比赛fb应用程序,可以在粉丝页面标签中运行。用户应该能够共享照片,以便其他人为他们投票。 假设
iframe
中的图像链接用于特定照片,则按share将通过
iframe
共享此链接。这将导致主机应用程序本身。 我需要的是在其
Iframe
中与open共享整个fb应用程序选项卡页面url。 这有可能吗?
谢谢你的帮助

当然是。您所要做的就是能够从应用程序画布URL提取信息。如果画布URL如下所示:

https://apps.facebook.com/ImadBakir
https://apps.facebook.com/ImadBakir?photo_id=123
然后,您可以在其中放置更多信息,如下所示:

https://apps.facebook.com/ImadBakir
https://apps.facebook.com/ImadBakir?photo_id=123
用户将共享该链接,现在在您的应用程序中,您可以解析
photo\u id
参数,并进行必要的HTML更改,以便在页面和应用程序加载时在iframe中显示正确的图像

关于解析URL参数,假设您将使用JavaScript进行解析,您可以在本文中了解更多信息:

当然可以。您所要做的就是能够从应用程序画布URL提取信息。如果画布URL如下所示:

https://apps.facebook.com/ImadBakir
https://apps.facebook.com/ImadBakir?photo_id=123
然后,您可以在其中放置更多信息,如下所示:

https://apps.facebook.com/ImadBakir
https://apps.facebook.com/ImadBakir?photo_id=123
用户将共享该链接,现在在您的应用程序中,您可以解析
photo\u id
参数,并进行必要的HTML更改,以便在页面和应用程序加载时在iframe中显示正确的图像

关于解析URL参数,假设您将使用JavaScript进行解析,您可以在本文中了解更多信息:

当然可以。您所要做的就是能够从应用程序画布URL提取信息。如果画布URL如下所示:

https://apps.facebook.com/ImadBakir
https://apps.facebook.com/ImadBakir?photo_id=123
然后,您可以在其中放置更多信息,如下所示:

https://apps.facebook.com/ImadBakir
https://apps.facebook.com/ImadBakir?photo_id=123
用户将共享该链接,现在在您的应用程序中,您可以解析
photo\u id
参数,并进行必要的HTML更改,以便在页面和应用程序加载时在iframe中显示正确的图像

关于解析URL参数,假设您将使用JavaScript进行解析,您可以在本文中了解更多信息:

当然可以。您所要做的就是能够从应用程序画布URL提取信息。如果画布URL如下所示:

https://apps.facebook.com/ImadBakir
https://apps.facebook.com/ImadBakir?photo_id=123
然后,您可以在其中放置更多信息,如下所示:

https://apps.facebook.com/ImadBakir
https://apps.facebook.com/ImadBakir?photo_id=123
用户将共享该链接,现在在您的应用程序中,您可以解析
photo\u id
参数,并进行必要的HTML更改,以便在页面和应用程序加载时在iframe中显示正确的图像

关于解析URL参数,假设您将使用JavaScript进行解析,您可以在本文中了解更多信息:

因此,要给出@Lix答案的“替代方案”,该答案侧重于画布应用程序,这里是页面选项卡应用程序的模拟方式:

出于某种原因,Facebook决定对页面选项卡应用程序进行不同的操作–与canvas应用程序不同,您不能通过将任何GET参数附加到应用程序的Facebook.com地址来将其传递给应用程序,但您必须使用
app_data
参数

您以
https://www.facebook.com/YourPage?v=app_1234567890&app_data=foo
–无论您为参数
app_data
输入什么值,您都会在Facebook在初始(!)加载到iframe时发布到应用程序的参数中找到

因此,您(或者让f.e.PHPSDK为您做这件事),然后在其中找到
app_data
值。如果您想传递多个值,您还可以将JSON编码的数据放在那里,然后在从签名请求中读取app_数据值后,您必须再次对其进行解码

虽然是文档,但原理本身很简单


现在,当谈到分享这些链接时,我发现当你使用上述表单中的地址时,Facebook倾向于从URL中删除参数,并将整个链接视为指向你Facebook页面的链接——它显示页面的图片和描述,甚至不传递你的页面标签应用程序,更不用说app_数据参数了


我发现解决这个问题最可靠的方法不是直接链接到Facebook上的页面标签,而是链接到你自己应用程序的URL。当scraper访问它时,您将传递相关的OG信息。当它是真正的用户访问时,您将其重定向到您的页面选项卡应用程序,通过
app\u data
参数传递所需的数据,如上所述。重定向可以在服务器端()完成,也可以通过JavaScript在客户端完成(scraper不会“说话”)。

因此,为了给@Lix答案提供“替代方案”,该答案侧重于画布应用程序,这里是页面选项卡应用程序的模拟方式:

出于某种原因,Facebook决定对页面选项卡应用程序进行不同的操作–与canvas应用程序不同,您不能通过将任何GET参数附加到应用程序的Facebook.com地址来将其传递给应用程序,但您必须使用
app_data
参数

您以
https://www.facebook.com/YourPage?v=app_1234567890&app_data=foo
–无论您为参数
app_data
输入什么值,您都会在Facebook在初始(!)加载到iframe时发布到应用程序的参数中找到

因此,您(或者让f.e.PHPSDK为您做这件事),然后在其中找到
app_data
值。如果您想传递多个值,您还可以将JSON编码的数据放在那里,然后在从签名请求中读取app_数据值后,您必须再次对其进行解码

虽然是文档,但原理本身很简单


现在,当谈到分享这些链接时,我发现