是否可以从iframe粉丝页/目标网页获取已登录用户的用户ID和名称?

时间:2012-01-29 20:09:21

标签: facebook

我怎样才能获得访问我的Facebook页面的用户的用户ID和名称,或者至少像我的页面一样?我已经创建了一个扇形门,即一个页面不是粉丝,另一个页面是那些喜欢我的页面的人。我想要显示谢谢ABC先生

对于扇形门机制我使用了签名请求。

function parse_signed_request($signed_request, $secret) {
   list($encoded_sig, $payload) = explode('.', $signed_request, 2);
    $sig = base64_url_decode($encoded_sig);
    $data = json_decode(base64_url_decode($payload), true);

    if (strtoupper($data['algorithm']) !== 'HMAC-SHA256') {
        error_log('Unknown algorithm. Expected HMAC-SHA256');
        return null;
    }

    $expected_sig = hash_hmac('sha256', $payload, $secret, $raw = true);

    if ($sig !== $expected_sig) {
        error_log('Bad Signed JSON signature!');
        return null;
    }

    return $data;
}

function base64_url_decode($input) {
    return base64_decode(strtr($input, '-_', '+/'));
}

$liked=0;
if ($_REQUEST) {
    $response = parse_signed_request($_REQUEST['signed_request'],                       FACEBOOK_SECRET);
    $liked=$response[page][liked];
}

我可以理解Facebook不允许从页面本身访问用户信息。但是我认为javascript和jquery是客户端脚本并使用它我可以满足我的要求。虽然我没有成功,但我的概念背后的想法是访问某些标签/选择器并检索facebook页面框架容器的父窗口内的内容。即。

  1. 创建一个jquery脚本来访问父窗口
  2. Facebook的顶部菜单包含小图像缩略图和登录用户的全名
  3. 使用jquery的标签选择器检索该html标签的内容

2 个答案:

答案 0 :(得分:1)

这是不可能的。您必须创建一个应用程序并提示用户访问其帐户的权限。仅仅喜欢一个页面并不足以弄清楚用户是谁。

答案 1 :(得分:0)

最后,我找到了问题的答案并分享了here。使它对你也有用。