所以我找不到任何理由我看到以下行为,如果有人有一些见解,将不胜感激。
基本上我使用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&channel=http%3A%2F%2Fstatic.ak.facebook.com%2Fconnect%2Fxd_arbiter.php %3Fversion%3D5%23CB%3Df2cb8f5c1ca0402%26origin%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%2Fregister%2F ** 33a1a0ae-e0fe-4eb6-9bf9-146d5492e3d6 **&安培;语言环境= EN_US&安培;名称=试验&安培;下一个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%2Fconnect%2Fxd_arbiter.php %3Fversion%3D5%23CB%3Df2cb8f5c1ca0402%26origin%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&安培;名称=试验&安培;下一= 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
答案 0 :(得分:1)
我测试了这两个网址:
使用js sdk发送方法,确实第一个url从facebook获得了500,而第一个url设法发送它。 我无法理解为什么第一个UID触发错误而第二个UID没有触发错误。
我一直要求提供这样的网址的工作示例的原因是,当您使用Facebook共享网址时,他们会废弃该网址(除非它已经在其缓存中)并提取该网址的元数据,以便可以组成一个饲料故事。
由于我尝试的网址无法访问facebook,因此可能会以某种方式触发该错误。 如果我试试这个网址: http://laine.webhop.org/tresendas/register/33a1a0ae-e0fe-4eb6-9bf9-146d5492e3d6 然后它工作,我不会得到服务器错误,即使它与我尝试的第一个网址具有相同的UID。
我建议您尝试使用Facebook可访问的网址,如果某些UID仍然出现错误,那么您应该打开一个新的错误报告。