0

所以我找不到任何理由看到以下行为,如果有人有一些见解,将不胜感激。

基本上,我使用FB.UIJavaScript SDK 向带有链接的用户发送消息。链接以Guid, like结尾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&description=test&display=iframe&link=http%3A%2F.%2 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&picture= http%3A%2F%2Fwww.domainname.com%2Fimg.gif&sdk=joey&to=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&description=test&display=iframe&link=http%3A%2F.%2 domainname.com%2FFregister%2F**dd171262-dbcc-43c3-b9d1-e37dc53e3520**&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&picture= http%3A%2F%2Fwww.domainname.com%2Fimg.gif&sdk=joey&to=XXX

4

1 回答 1

1

我测试了这两个网址:

使用 js sdk 发送方法,确实第一个 url 导致来自 facebook 的 500,而第一个设法发送它。我不明白为什么第一个 UID 会触发错误,而第二个不会。

我一直要求提供此类 url 的工作示例的原因是,当您使用 facebook 共享 url 时,他们会废弃该 url(除非它已经在他们的缓存中)并提取该 url 的元数据,以便可以组成提要故事。

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

我建议您尝试使用 facebook 可访问的 url,如果您仍然收到某些 UID 的错误,那么您可能应该打开一个新的错误报告。

于 2012-04-23T16:44:38.423 回答