2012-04-22 106 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