如何从iFrame php获取Facebook ID


How to Get Facebook ID from iFrame php

我正在尝试从iframe中提取facebook id,以便更新一个模块,该模块将显示在用户的网站上并链接到fb页面。

例如,当我加载这个 iframe 时:

<iframe src=https://graph.facebook.com/zuck></iframe>

你可以看到马克扎克伯格的 id 为 4。 我只想从 iframe 中提取此值并通过 php 将其分配给变量。 关于如何做到这一点的任何想法?

你可以使用FB javascript API非常轻松地做到这一点。

在你的脑海中,添加一个JS块,其中包含:

window.fbAsyncInit = function() {
    FB.api("/zuck", function(response){
        alert(response.id);
    });
};​

。将 Zuck替换为想要的用户名,例如。"/" + 用户名

异步加载FB JS...

<script type="text/javascript">
// Load the SDK Asynchronously
(function(d){
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
    if (d.getElementById(id)) {return;}
    js = d.createElement('script'); js.id = id; js.async = true;
    js.src = "//connect.facebook.net/en_US/all.js";
    ref.parentNode.insertBefore(js, ref);
}(document));
</script>​

由于ID是一个公共字段,你不需要任何额外的用户登录内容;你可以拨打一个电话。

请注意...缺少一些常见的FB内容:
FB.init - 因为我们不需要做任何与用户会话相关的事情。
[div id="fb-root"][/div] - 因为我们没有显示来自 FB 的任何内容;对话框等(但用方括号! :-P )

我所知,不幸的是这是不可能的,因为这是一个安全问题。如果你想从iframe中提取值,该源来自你自己的域,这是可能的,没有任何问题。但是当iframe的源是第三方URL时,访问其中的DOM元素是一个安全问题。