Доступ к переменным запроса в iFrame - PullRequest
2 голосов
/ 20 июля 2011

Я пытаюсь создать многопользовательскую игру в качестве приложения для Facebook. Итак, в этом разделе я даю одному игроку ссылку, которой он делится со своими друзьями, чтобы они могли играть вместе, Ссылка на приложения FB имеет тип URL

https://apps.facebook.com/app-name/

Скажите, что кто-то делится ссылкой

https://apps.facebook.com/app-name/?game=key

Теперь возникает настоящая проблема, как приложение, которое в данный момент работает как iframe, получит доступ к родительской переменной игры Windows?

Ответы [ 3 ]

1 голос
/ 20 июля 2011

Вы должны использовать параметр app_data.Посмотрите эти ссылки:

Таким образом, в основном параметр app_data будет передан в signed_request вашему приложению в iFrame.Чтобы это работало, вы должны json_encode параметр.Итак, в вашем примере:

http://apps.facebook.com/my-app/?app_data={'game': 'key'}

и, наконец, закодированный URL:

http://apps.facebook.com/my-app/?app_data=7B%27game%27%3A+%27key%27%7D

, чтобы получить доступ, вы должны зачитать подписанный запрос (пример с PHP):

$app_data = json_decode($signed_request["app_data"]);
$additional = $app_data['additional'];
0 голосов
/ 14 февраля 2013

У меня была та же самая проблема, ответ довольно прост:

https://apps.facebook.com/app-name/?myvalue=12

В приложениях страницы вы можете использовать только "app_data" в качестве параметра, но в приложениях Canvas вы просто используете свои собственные параметры и выможно получить их с помощью $ _REQUEST ['myvalue'] или $ _GET ['myvalue']:

array(2) { ["myvalue"]=> string(2) "12" ["signed_request"]=> string(427) "..." } 
0 голосов
/ 12 октября 2011

По сути, вместо использования вопросительного знака просто добавьте его в URL:

https://apps.facebook.com/app-name/game/key

Просто убедитесь, что ваше приложение настроено на работу с:

https://yourdomain.com/canvas-url/game/key

Я опубликовал более подробный ответ на эту проблему на дублирующем вопросе:

$ _ ПОЛУЧИТЕ в приложении Facebook iframe

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...