Мне нужно связать конкретную страницу в своем приложении для Facebook. Приложение не находится на вкладке страницы и не может быть в одном из-за ограничений проекта.
Это формат URL: https://apps.facebook.com/myappname
Мне нужно передать параметр в конце (например, /next.html или? Page = next), чтобы я мог ссылаться на конкретную страницу непосредственно извне приложения (из электронной почты).
Как бы я это сделал? В моем проекте используются PHP и jQuery. Я хотел бы быть в состоянии сделать это строго в Javascript, если это возможно.
Я нашел массу информации о том, как глубоко привязать вкладку страницы или мобильное приложение, но не к обычным приложениям. Я нашел сообщения о том, что это возможно, но ничего о том, как на самом деле делать это в любом месте онлайн или на Facebook.
Спасибо за вашу помощь.
РЕДАКТИРОВАТЬ:
Хорошо, я начал работать на PHP. Для кого-то еще с этой проблемой, это то, что я сделал.
Добавить "?" в самом конце URL-адреса сайта в своем приложении FB, затем создайте файл перенаправления, подобный этому, как целевую страницу вашего приложения (просто используйте абсолютные пути вместо относительных, как я сделал ниже):
<?php $query = $_SERVER['QUERY_STRING']; $params = explode("/", $query); if (in_array("gallery", $params)) { header("Location: /gallery.html"); exit; } else { header("Location: /index.html"); exit; } ?>
Этот ответ помог мне понять это: $ _GET на facebook iframe app
Когда вы используете? все, что вы делаете, выдает запрос $ _GET, поэтому вся необходимая информация будет существовать в массиве $ _GET.
Вместо запроса массива $ _SERVER запросите массив $ _GET.
Так что если бы у вас было:
Вы можете просто получить доступ к этой информации, используя:
$info = $_GET['info'];
Хорошая практика сначала проверить наличие, хотя:
if (isset($_GET['info'])) { $info =$_GET['info']; } else { $info="default"; }
поif (isset($_GET['info'])) { $info =$_GET['info']; } else { $info="default"; }
Если вы используете символ &, вы можете иметь несколько параметров:
http://myurl.com?info=foo&moreinfo=bar
Возможно, мне что-то не хватает, но почему бы вам просто не ссылку на http://apps.facebook.com/yourapp/something.php
– это должно автоматически загружать ваш холст-URL, а something.php
.php прилагается к пути
Очевидно, что это не сработает, если ваш URL холста указывает на определенный файл, а не на каталог, но множество приложений делают это с успехом
Вы получаете специальный параметр, называемый app_data
который вы можете использовать, как хотите. Я использовал его в прошлом, чтобы закодировать полный запрос моего внутреннего приложения. например, &app_data=My/Custom/Page
Подробнее в этом вопросе SO: Получить параметр из URL-адреса страницы