Как получить верхний URL из приложения Facebook? - PullRequest
1 голос
/ 24 февраля 2011

Как получить верхний URL (адрес Facebook) в моем приложении iframe?

Есть ли хорошее решение по этому поводу?

Ответы [ 4 ]

4 голосов
/ 24 февраля 2011

Вы имеете в виду URL-адрес в домене Facebook?

Это невозможно из-за Одинаковой политики происхождения .

1 голос
/ 28 апреля 2012
https://www.facebook.com/pages/YOUR_PAGE_NAME/YOUR_PAGE_ID?sk=app_APP_ID&app_data=My%20custom%20data

Вы можете передавать любые строковые данные с помощью параметра app_data

1 голос
/ 13 октября 2011

Вы, вероятно, можете выяснить это из параметра POST "signature_request", который Facebook отправляет приложениям, загруженным на страницах.

В PHP это:

$_POST["signed_request"]
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
$page_id = $data["page"]["id"];

Если вы хотите предотвратить техническиепользователи могут подделать идентификацию родительской страницы, вы можете проверить $ encoded_sig;однако, это, вероятно, излишне.

$ page_id - это просто число, поэтому вам нужно использовать другие API Facebook (или позвонить на "http://www.facebook.com/pages/k/$page_id" и посмотреть, куда вы перенаправлены)чтобы получить полный URL.

0 голосов
/ 24 февраля 2011

Если вы можете дождаться первой загрузки, вы можете использовать jQuery:

$(document).ready(function()
{
    var myurl = window.location.pathname;
    $.get("test.php", { url: myurl } );
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...