Php 如何从Facebook应用程序中获取顶级URL?
如何在iframe应用程序中获取顶级URL(Facebook地址)Php 如何从Facebook应用程序中获取顶级URL?,php,jquery,facebook,iframe,Php,Jquery,Facebook,Iframe,如何在iframe应用程序中获取顶级URL(Facebook地址) 有好的解决办法吗?你是说Facebook域名上的URL 这是不可能的,因为 你是说Facebook域名上的URL 这是不可能的,因为 如果可以等待第一次加载,可以使用jQuery: $(document).ready(function() { var myurl = window.location.pathname; $.get("test.php", { url: myurl } ); }); 如果可以等待第
有好的解决办法吗?你是说Facebook域名上的URL
这是不可能的,因为 你是说Facebook域名上的URL
这是不可能的,因为 如果可以等待第一次加载,可以使用jQuery:
$(document).ready(function()
{
var myurl = window.location.pathname;
$.get("test.php", { url: myurl } );
});
如果可以等待第一次加载,则可以使用jQuery:
$(document).ready(function()
{
var myurl = window.location.pathname;
$.get("test.php", { url: myurl } );
});
你可能可以从Facebook发送给页面中加载的应用程序的“signed_request”POST参数中找到答案 在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只是一个数字,因此您需要使用其他Facebook API(或拨打电话至“http://www.facebook.com/pages/k/$page_id“并查看重定向到的位置)以获取完整的URL。您可能可以从Facebook发送到页面中加载的应用程序的“signed_request”POST参数中找到这一点
https://www.facebook.com/pages/YOUR_PAGE_NAME/YOUR_PAGE_ID?sk=app_APP_ID&app_data=My%20custom%20data
在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只是一个数字,因此您需要使用其他Facebook API(或拨打电话至“http://www.facebook.com/pages/k/$page_id“并查看重定向到的位置)以获取完整的URL
https://www.facebook.com/pages/YOUR_PAGE_NAME/YOUR_PAGE_ID?sk=app_APP_ID&app_data=My%20custom%20data
您可以通过app_data参数传递任何字符串数据
你可以通过app_data参数传递任何字符串数据我的意思是,如何从iframe所在的页面获取url。如果你明白;-)@Simon您是指iframe的URL还是包含iframe的页面的URL?@Pekka包含iframe的页面的URL:)同源策略仍然适用。@Simon抱歉,不可能。您将无法从父帧获取任何信息。URL将位于
$\u服务器[“HTTP\u REFERER”]
标题中,但至少在大多数客户机中,您可以在PHPI中获取和输出URL,这只是指如何从iframe所在的页面获取URL。如果你明白;-)@Simon您是指iframe的URL还是包含iframe的页面的URL?@Pekka包含iframe的页面的URL:)同源策略仍然适用。@Simon抱歉,不可能。您将无法从父帧获取任何信息。URL将位于$\u服务器[“HTTP\u REFERER”]
头中,但至少在大多数客户机中,您可以在PHP中获取和输出URL