使用 PHP 检索 Facebook 用户名或用户 ID
Retrive Facebook username or user-id with PHP
有什么方法可以检索用户 ID?我知道如何从 getGraphObjec 获取 id,但该 id 不是我想要的 id。我发现了类似 http://graph.facebook.com/userid. I want that id, for example I generate "10205575645933169" from getGraphObject, but I want "1313375997" which is used in http://graph.facebook.com/1313375997 的内容。我什至不知道这是否可行,但如果可行,有没有人知道这样做的方法?谢谢
<?php
session_start();
require_once 'vendor/autoload.php';
Facebook\FacebookSession::setDefaultApplication('856997051006897','8e034c9c2bb159f9eba8f251dcc68eba');
$facebook = new Facebook\FacebookRedirectLoginHelper('http://localhost/FacebookLogin/index.php');
try {
if($session = $facebook->getSessionFromRedirect()){
$_SESSION['facebook'] = $session->getToken();
header('Location: index.php');
}
if(isset($_SESSION['facebook'])) {
$session = new Facebook\FacebookSession($_SESSION['facebook']);
$request = new Facebook\FacebookRequest($session, 'GET', '/me');
$request = $request->execute();
$user = $request->getGraphObject()->asArray();
}
} catch(Facebook\FacebookRequestException $e) {
// Facebook error
} catch(Exception $e) {
// local error
}
我用 $user['id'] 调用它;在我的代码中。
图表 API returns APP 范围用户 ID。您可以在代码中使用该 ID。它仍然是同一个用户。
你可以像
这样的请求
$request = new Facebook\FacebookRequest($session, 'GET', '/'.$app_scoped_user_id);
我以前也遇到过同样的问题。你可以在这里查看 Graph API and PHP SDK returns different results
从 v2.0 开始,无法再检索 "username" 或 "real/global ID"。您只会获得用户的真实姓名和 App Scoped ID。使用用户名,您可以获得用户的 "real" ID,因此如果仍然可以获取用户名或 real/global ID,则应用范围 ID 的整个概念将无效。
查看更新日志以获取有关最近更改的更多信息:https://developers.facebook.com/docs/apps/changelog
有什么方法可以检索用户 ID?我知道如何从 getGraphObjec 获取 id,但该 id 不是我想要的 id。我发现了类似 http://graph.facebook.com/userid. I want that id, for example I generate "10205575645933169" from getGraphObject, but I want "1313375997" which is used in http://graph.facebook.com/1313375997 的内容。我什至不知道这是否可行,但如果可行,有没有人知道这样做的方法?谢谢
<?php
session_start();
require_once 'vendor/autoload.php';
Facebook\FacebookSession::setDefaultApplication('856997051006897','8e034c9c2bb159f9eba8f251dcc68eba');
$facebook = new Facebook\FacebookRedirectLoginHelper('http://localhost/FacebookLogin/index.php');
try {
if($session = $facebook->getSessionFromRedirect()){
$_SESSION['facebook'] = $session->getToken();
header('Location: index.php');
}
if(isset($_SESSION['facebook'])) {
$session = new Facebook\FacebookSession($_SESSION['facebook']);
$request = new Facebook\FacebookRequest($session, 'GET', '/me');
$request = $request->execute();
$user = $request->getGraphObject()->asArray();
}
} catch(Facebook\FacebookRequestException $e) {
// Facebook error
} catch(Exception $e) {
// local error
}
我用 $user['id'] 调用它;在我的代码中。
图表 API returns APP 范围用户 ID。您可以在代码中使用该 ID。它仍然是同一个用户。 你可以像
这样的请求$request = new Facebook\FacebookRequest($session, 'GET', '/'.$app_scoped_user_id);
我以前也遇到过同样的问题。你可以在这里查看 Graph API and PHP SDK returns different results
从 v2.0 开始,无法再检索 "username" 或 "real/global ID"。您只会获得用户的真实姓名和 App Scoped ID。使用用户名,您可以获得用户的 "real" ID,因此如果仍然可以获取用户名或 real/global ID,则应用范围 ID 的整个概念将无效。
查看更新日志以获取有关最近更改的更多信息:https://developers.facebook.com/docs/apps/changelog