Сумасшедшая ошибка диалогового окна пользовательского интерфейса Facebook

Поэтому я не могу найти причину, по которой я наблюдаю приведенное ниже поведение, и, если у кого-то есть какое-то представление, это будет очень признательно.

В основном я использую FB.UI из JavaScript SDK для отправки сообщения пользователю со ссылкой. Ссылка заканчивается на Guid, например на http://www.domainname.com/register/33a1a0ae-e0fe-4eb6-9bf9-146d5492e3d6. Иногда это срабатывает, но иногда не удается из-за общей ошибки 500 от FB.

Я вытащил запрос HTTP POST и нашел решение, которое я могу воссоздать, к сожалению, я не могу поделиться кодом доступа, чтобы пользователи SO могли его запускать (я заменил все конфиденциальные параметры). Ниже представлены два идентичных запроса, которые отличаются только Guid. Первый каждый раз преуспевает, а второй каждый раз терпит неудачу. У меня есть множество Guids, которые делают это, что делает их ненадежными.

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%23 26origin% 3Dhttp% 253A% 252F% 252Fwww.domainname.com% 252Ff350c0fd55d5764% 26domain% 3Dwww.domainname.com% 26relation% 3Dparent.parent & channel_url = http% 3A% 2F% 2Fstatic.ak.facebook.com% 2Fconnepctar% 2Fconnepctar% 2Fstatic.ak.facebook.com% 2Fconnepctar% 2 3Fversion% 3D5% 23cb% 3Df11a615f3b71192% 26origin% 3Dhttp% 253A% 252F% 252Fwww.domainname.com% 252Ff350c0fd55d5764% 26domain% 3Dwww.domainname.com% 26relation% 3Dparent.parent & descriptionAll = test & display. 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 23cb% 3Df22e359d88321ce% 26origin% 3Dhttp% 253A% 252F% 252Fwww.domainname.com% 252Ff350c0fd55d5764% 26domain% 3Dwww.domainname.com% 26relation% 3Dparent% 26frame%% 3Df33c13cd4ecc156% % 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%23 26origin% 3Dhttp% 253A% 252F% 252Fwww.domainname.com% 252Ff350c0fd55d5764% 26domain% 3Dwww.domainname.com% 26relation% 3Dparent.parent & channel_url = http% 3A% 2F% 2Fstatic.ak.facebook.com% 2Fconnepctar% 2Fconnepctar% 2Fstatic.ak.facebook.com% 2Fconnepctar% 2 3Fversion% 3D5% 23cb% 3Df11a615f3b71192% 26origin% 3Dhttp% 253A% 252F% 252Fwww.domainname.com% 252Ff350c0fd55d5764% 26domain% 3Dwww.domainname.com% 26relation% 3Dparent.parent & descriptionAll = test & display. 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% 23cb% 3Df22e359d88321ce% 26origin% 3Dhttp% 253A% 252F% 252Fwww.domainname.com% 252Ff350c0fd55d5764% 26domain% 3Dwww.domainname.com% 26relation% 3Dparent% 26frame%% 3Df33c13cd4ecc156% F% 2Fwww.domainname.com% 2Fimg.gif & sdk = joey & to = XXX


person Dustin Laine    schedule 22.04.2012    source источник
comment
Можете ли вы поделиться URL-адресом, который работает, и URL-адресом, который не работает?   -  person Nitzan Tomer    schedule 23.04.2012
comment
@Nitzan Tomer, ссылки верны. Если вы замените XXX на допустимый access_token и информацию о приложении, его можно будет проверить.   -  person Dustin Laine    schedule 23.04.2012
comment
Что ж, dp, aomname сбивает с толку .. Во всяком случае, я проверил оба URL (www.domainname.com/Fregister/dd171262-dbcc-43c3-b9d1-e37dc53e3520 и www.domainname.com/register/33a1a0ae-e0fe-4eb6-9bf9 -146d5492e3d6) и оба вернули: 404 - Not Found   -  person Nitzan Tomer    schedule 23.04.2012
comment
Все они должны быть www.domainname.com, я разместил приложение на промежуточном сайте, поэтому, если вы можете заменить домены на laine.webhop.org и параметр ссылки на laine.webhop.org/tresendas/register/ GUID. Замена GUID каждым указанным выше. Спасибо!!!!   -  person Dustin Laine    schedule 23.04.2012
comment
URL-адреса laine.webhop.org/tresendas/register/ и laine.webhop.org/tresendas/register/ приведет к ошибке сервера (Ошибка сервера в приложении '/ Tresendas'). Может быть, вы можете просто публиковать URL-адреса, которые работают, вместо того, чтобы я пытался выяснить их самостоятельно?   -  person Nitzan Tomer    schedule 23.04.2012
comment
Я думаю, что есть недопонимание, в чем проблема. Ссылки выше - это то, что отправляется в FB в сообщении, имеет ли значение, если они загружаются неправильно? Если так, я могу заставить их работать чуть позже. Проблема, с которой я столкнулся, заключается в том, что сообщение об ошибке отправляется в диалоговом окне FB.ui. И снова единственное различие между ними - это сам Guid.   -  person Dustin Laine    schedule 23.04.2012


Ответы (1)


Я проверил оба этих URL:

с помощью метода отправки js sdk, и действительно, первый URL-адрес привел к 500 из facebook, в то время как первому удалось его отправить. Я не могу понять, почему первый UID вызывает ошибку, а второй - нет.

Причина, по которой я все время просил рабочий пример таких URL-адресов, заключается в том, что когда вы делитесь URL-адресом с помощью facebook, они удаляют этот URL-адрес (если он еще не находится в их кеше) и извлекают метаданные этого URL-адреса, чтобы можно было составить историю канала.

Поскольку URL-адреса, которые я пробовал, недоступны для facebook, это может каким-то образом вызвать эту ошибку. Если я попробую этот URL: http://laine.webhop.org/tresendas/register/33a1a0ae-e0fe-4eb6-9bf9-146d5492e3d6, тогда он работает, и я не получаю сообщение об ошибке сервера, хотя он имеет тот же UID, что и первый URL-адрес, который я пробовал.

Я предлагаю вам попробовать использовать URL-адреса, доступные для facebook, если вы все еще получаете ошибки для определенных UID, вам, вероятно, следует открыть новый отчет об ошибке.

person Nitzan Tomer    schedule 23.04.2012
comment
Можете ли вы протестировать что-нибудь еще, в нерабочем примере. Просто измените последний символ в руководстве на какой-нибудь другой, например 5. Затем он сработает, что ни один из них не должен разрешать. - person Dustin Laine; 23.04.2012
comment
Я не спорю, что это не странно, я говорю о том, что эта необъяснимая ошибка может не возникнуть, когда URL-адрес доступен через facebook (не 404), возможно, эта ошибка возникает только тогда, когда они пытаются вернуться к тому, когда это не так. достижимый. Если вы попробуете неудачные UID с рабочими URL-адресами, это сработает или нет? - person Nitzan Tomer; 23.04.2012
comment
Вы правы на 100%. Исправлена ​​ошибка на этой странице, чтобы загрузка этой страницы работала идеально. Я получаю стабильные результаты. Спасибо! - person Dustin Laine; 24.04.2012