2012-04-22 132 views
0

所以我找不到任何理由我看到下面的行为,如果有人有一些洞察力,它将不胜感激。疯狂的Facebook UI对话框错误

基本上,我使用JavaScript SDK中的FB.UI来向使用链接的用户发送消息。链接以Guid结尾,如http://www.domainname.com/register/33a1a0ae-e0fe-4eb6-9bf9-146d5492e3d6。这有时会起作用,但偶尔会出现FB出现通用500错误的情况。

我已经提出HTTP POST请求,并找到了一个我可以重新创建的解决方案,但不幸的是我无法共享访问代码以允许SO用户实际运行它(我替换了所有敏感参数)。以下是仅在Guid中有所不同的两个相同请求。第一次成功,第二次每次都失败。我有很多Guid正在这样做,这使得如果不可靠。

https://www.facebook.com/dialog/send?access_token=XXX & API_KEY = XXX & APP_ID = XXX &信道= HTTP%3A%2F%2Fstatic.ak.facebook.com%2Fconnect% 2Fxd_arbiter.php%3Fversion%3D5%23cb%3Df2cb8f5c1ca0402%26原始%3Dhttp%253A%252F%252Fwww.domainname.com%252Ff350c0fd55d5764%26domain%3Dwww.domainname.com%26relation%3Dparent.parent & channel_url = http%3A%2F% 2Fstatic.ak.facebook.com%2Fconnect%2Fxd_arbiter.php%3Fversion%3D5%23CB%3Df11a615f3b71192%26origin%3Dhttp%253A%252F%252Fwww.domainname.com%252Ff350c0fd55d5764%26domain%3Dwww.domainname.com%26relation%3Dparent。 parent & description = test & display = iframe & link = http %3A%2F%2Fwww.domainname.com%2Fregister%2F ** 33a1a0ae-e0fe-4eb6-9bf9-146d5492e3d6 ** & locale = en_US & name = test & next = http%3A%2F%2Fstatic.ak.facebook。 COM%2Fconnect%2Fxd_arbiter.php%3Fversion%3D5%23CB%3Df22e359d88321ce%26origin%3Dhttp%253A%252F%252Fwww.domainname.com%252Ff350c0fd55d5764%26domain%3Dwww.domainname.com%26relation%3Dparent%26frame%3Df33c13cd4ecc156%26result% 3D%2522xxRESULTTOKENxx%2522 &图片= HTTP%3A%2F%2Fwww.domainname.com%2Fimg.gif & SDK =乔伊&到= XXX

https://www.facebook.com/dialog/send?access_token = XXX & api_key = XXX & app_id = XXX & channel = http%3A%2F%2Fstatic.ak.facebook.com%2F连接%2Fxd_arbiter.php%3Fversion%3D5%23cb%3Df2cb8f5c1ca0402%26原始%3Dhttp%253A%252F%252Fwww.domainname.com%252Ff350c0fd55d5764%26domain%3Dwww.domainname.com%26relation%3Dparent.parent & channel_url = http%3A% 2F%2Fstatic.ak.facebook.com%2Fconnect%2Fxd_arbiter.php%3Fversion%3D5%23CB%3Df11a615f3b71192%26origin%3Dhttp%253A%252F%252Fwww.domainname.com%252Ff350c0fd55d5764%26domain%3Dwww.domainname.com%26relation% 3Dparent.parent &描述=测试&显示= IFRAME &链路= HTTP%3A%2F%2Fwww.domainname.com%2FFregister%2F ** dd171262-DBCC-43c3-b9d1-e37dc53e3520 ** &语言环境= EN_US &名称=测试& next = http%3A%2F%2Fstatic.ak.facebook.com%2Fconnect%2Fxd_arbiter.php%3Fversion%3D5%23cb%3Df22e359d88321ce%26origin%3Dhttp%253A%252F%252Fwww.domainname.com%252Ff350c0fd55d5764%26domain%3Dwww .domainn ame.com%26relation%3Dparent%26frame%3Df33c13cd4ecc156%26result%3D%2522xxRESULTTOKENxx%2522 & picture = http%3A%2F%2Fwww.domainname.com%2Fimg。GIF & SDK =乔伊&到= XXX

+0

你能分享一个可以工作的网址吗? – 2012-04-23 06:31:15

+0

@Nitzan Tomer,那些链接是正确的。如果你用有效的access_token和应用程序信息替换“XXX”,它应该是可测试的。 – 2012-04-23 15:06:54

+0

好吧,“dp,aomname”令人困惑..无论如何,我测试了这两个网址(www.domainname.com/Fregister/dd171262-dbcc-43c3-b9d1-e37dc53e3520和www.domainname.com/register/33a1a0ae-e0fe- 4eb6-9bf9-146d5492e3d6),并返回:404 - 没有找到 – 2012-04-23 16:02:57

回答

1

我测试的两种这些网址:

与JS SDK发送方法,并且实际上所述第一网址导致从Facebook的500,而第一个设法发送它。 我不明白为什么第一个UID会触发错误,而第二个UID不会触发错误。

我一直要求这样的URL的一个工作示例的原因是,当你使用Facebook共享一个URL时,他们会取消该URL(除非它已经在其缓存中)并提取该URL的元数据,以便提供一个Feed故事可以组成。

由于我尝试的网址无法通过Facebook访问,因此可能会以某种方式触发该错误。 如果我尝试这个网址: http://laine.webhop.org/tresendas/register/33a1a0ae-e0fe-4eb6-9bf9-146d5492e3d6 那么它的工作原理,我没有得到服务器错误,即使它具有与我尝试的第一个url相同的UID。

我建议你尝试使用Facebook访问的URL,如果你仍然得到某些UID的错误,那么你应该打开一个新的错误报告。

+0

您可以在非工作示例中测试其他内容。只需将GUID中的最后一个字符更改为5之类的东西即可。然后它可以工作,这些都不应解决。 – 2012-04-23 17:30:05

+0

我不认为这并不奇怪,我所说的是,这个无法解释的错误可能不会发生在当Facebook可以访问url(不是404)时,也许这个错误只发生在他们尝试回退到它的时候不能达到。如果您尝试使用工作URL的失败UID,它是否工作? – 2012-04-23 17:47:14

+0

你100%正确。修正了该页面上的错误,以允许加载完美的页面。我得到一致的结果。谢谢! – 2012-04-24 02:44:08