我刚设法连接到facebook PHP api。 Facebook API教程看起来非常糟糕,或者至少组织得很差。
我意识到我可以使用<?php print_r($user_profile[name]); ?>
获取登录用户的名字,因为它预先设置为$user_profile = $facebook->api('/me');
。如何知道他的UID,如何打印未登录的其他用户名,例如'2222'
如何获取用户信息,特别是名称和UID?
由于
答案 0 :(得分:1)
您想要获取哪些用户?您可以使用/ me获取当前用户。在使用Facebook PHP API之前,您需要了解Facebook graph api。它解释了有关Facebook api访问URL的所有信息。因此,您可以在Facebook PHP SDK中调用图形URL。
您可以查看
中的示例源代码https://github.com/facebook/php-sdk/
require './facebook.php';
$facebook = new Facebook(array(
'appId' => 'YOUR_APP_ID',
'secret' => 'YOUR_APP_SECRET',
));
// Get User ID
$user = $facebook->getUser();
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
答案 1 :(得分:0)
<script>
FB.init({appId: <?php echo FACEBOOK_APP_ID;?>, status: true, cookie: true, xfbml: true});
FB.Event.subscribe('auth.logout', function(response) {});
FB.Event.subscribe('auth.sessionChange', function(response) {
if (response.session) {
FB.api('/me', function(response) {
if(response.id!='undefined')
{
window.location='Fbaccess.php?first_name='+response.first_name+'&last_name='+response.last_name+'&email='+response.email;
}
else
{
window.location='login.php';
}
});
} else {
// The user has logged out, and the cookie has been cleared
}
});
</script>
php code ....
<?php
$cookie = get_facebook_cookie(FACEBOOK_APP_ID, FACEBOOK_SECRET);
if(isset($cookie))
{
$first_name = json_decode(@file_get_contents('https://graph.facebook.com/me?access_token=' .$cookie['access_token']))->first_name;
$last_name = json_decode(@file_get_contents('https://graph.facebook.com/me?access_token=' .$cookie['access_token']))->last_name;
}
?>
function get_facebook_cookie($app_id, $application_secret)
{
$args = array();
parse_str(trim($_COOKIE['fbs_' . $app_id], '\\"'), $args);
ksort($args);
$payload = '';
foreach ($args as $key => $value)
{
if ($key != 'sig') {
$payload .= $key . '=' . $value;
}
}
if (md5($payload . $application_secret) != $args['sig']) {
return null;
}
return $args;
}
我认为这些代码可供您获取Facebook名称和用户ID .... 在这个网址上你会找到完整的回复
https://graph.facebook.com/me?access_token='。$ cookie ['access_token']
答案 2 :(得分:0)
在你的api电话中,将'/ me'替换为'/ 2222'