Приложение Facebook iFrame: как передать данные из строки запроса URL

У меня есть приложение Facebook с галереей изображений. Он встроен во Flex 4. Я хочу разрешить пользователям ссылаться на определенное изображение.

Как это сделать?

Единственный способ, которым я это вижу, - добавить переменную GET, например &my_picture=asd.jpg, в URL-адрес страницы Facebook, но я не знаю, как это прочитать из iFrame.


person Francisc    schedule 04.07.2010    source источник


Ответы (2)


Да, вы можете добавить параметр в строку запроса для этого:

http://app.facebook.com/yourapp?myparam=1234

Тогда ваше приложение будет называться так:

http://domainwhereyouhostyourapp.com/your_fb_app/index.php?myparam=1234

Facebook также передает некоторые другие параметры, большинство из которых связано с токенами аутентификации и т. д. Они имеют префикс «fb_», чтобы предотвратить конфликты имен.

В вашем index.php (или в том, что вы используете) прочитайте интересующий вас параметр get и передайте его в свой swf, как обычно.

person Juan Pablo Califano    schedule 04.07.2010

Что хорошего в Facebook, так это то, что он переносит ВСЕ после вашего ../appname/{things-beyond-your-app-name} на размещенный вами URL-адрес [сервера] ... так что можно использовать даже .htaccess. ;)

Нравится...

http://apps.facebook.com/YOURAPPNAME/a/b/c.htm

Для приложения, размещенного на моем сервере по адресу:

http://example.com/APPSHOSTEDPATH/

и с помощью этой однострочной строки, включенной в файл .htaccess моего размещенного местоположения в:

http://example.com/APPSHOSTEDPATH/

где файл .htaccess содержит (среди прочих стандартных) строки...

Я могу поставить что-то вроде:

RewriteRule ^(.*)$ /myRedirectedPath/$1 [L,R=301]

Итак, если человек переходит на: http://apps.facebook.com/YOURAPPNAME/a/b/c.htm (как в приведенном выше примере)

Они останутся там и получат доступ:

http://example.com/myRedirectedPath/a/b/c.htm

(довольно мило, а?) ;)

Забавная штука... хочу, чтобы вы знали, что есть больше возможностей, чем просто $_GET.

person Bill Ortell    schedule 13.01.2011