2012-06-08 58 views
0

我想从iframe中提取facebook id以更新将显示在用户网站上的模块并链接到fb页面。如何从iFrame获取Facebook ID php

例如,当我加载此iframe:

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

你可以看到,马克·扎克伯格拥有我只是想拉这个值出来的iframe,并将其分配给一个变量4. ID通过PHP。任何想法如何做到这一点?

回答

1

你可以很容易地使用FB JavaScript API来做到这一点。

在你的头,添加一个JS阻滞:

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

...与所需的用户名,如更换扎克。 “/” + USERNAME

异步加载的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)

+0

谢谢。我能够做一些类似于PHP的<?php $ pageContent = file_get_contents('http://graph.facebook.com/zuck'); $ parsedJson = json_decode($ pageContent); echo $ parsedJson-> id; ?> ' – Presto

0

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