通过 PHP SDK 检索 Facebook ID

Facebook ID retreival by PHP SDK

我正在尝试使用 PHP SDK 制作 Facebook 网络应用程序 我在安装 运行 PHP SDK 时没有遇到任何问题 这是我的登录脚本 index.php

<?php
session_start();
$app_id = '***************';
$app_secret = '******************************'; 
$my_url = 'https://www.domain.net/';
require_once __DIR__ . '/vendor/autoload.php';
$fb = new Facebook\Facebook(['app_id'=>$app_id,'app_secret'=>$app_secret,'default_graph_version'=>'v2.5',]);
$helper = $fb->getRedirectLoginHelper();
if (isset($_SESSION['facebook_access_token'])){
$fb->setDefaultAccessToken($_SESSION['facebook_access_token']);
try {
  $fbresponse = $fb->get('/me');
  $fbuserNode = $fbresponse->getGraphUser();
} catch(Exception $e) {
  error_log("index.php: Exception",0);
  $permissions = ['email'/*, 'user_likes'*/];
  $loginUrl = $helper->getLoginUrl('https://www.sofiariders.net/fblog-callback.php', $permissions);
  echo '<a href="' . $loginUrl . '">Log in with Facebook!</a>';
  exit;
}
?>

它完美运行q 我正在使用 facebook 登录,但问题是 - 我的个人资料的 ID。 从 $fbuserNode->getId() 我得到 id 140261546352183 并且 Facebook 不会通过 URL 打开我的个人资料 https://www.facebook.com/profile.php?id=140261546352183

例如,通过使用网站 findmyfbid.com,我获得了同一个人资料的另一个 ID - 它是 100011050158477,使用该 ID Facebook 成功打开了 URL https://www.facebook.com/profile.php?id=100011050158477

问题是 - 如何使用 PHP SDK 获取我的普通配置文件 ID? 为什么我弄错了 ID?

其他页面正在执行不允许的操作:抓取。它直接从您的个人资料页面获取您的 "real" ID。在一个 App 中,你只能得到一个 "App Scoped ID" - 这足以识别用户。您可以只使用以下 URL:https://www.facebook.com/140261546352183 - 它会重定向到您的个人资料。

换句话说:您无法再获得 "real" ID,也不需要它。