我在尝试着:
从具有好友信息的用户那里检索好友列表:
- 地点
- 教育
- 姓名
- 个人资料图片
问题是给定的标准权限只有朋友头像和姓名。我用它来获取其他信息:
$params = array(
'scope' => 'email, friends_likes, user_about_me, friends_about_me, friends_location, friends_website, friends_work_history, friends_education_history'
);
$loginUrl = $facebook->getLoginUrl($params);
}
所以现在当我登录我的页面时,Facebook 会询问我是否愿意将这些权限授予应用程序,这是一个好兆头。
问题是我仍然无法弄清楚如何获取信息。当我尝试做
print_r($friends);
或者
print_r($friends["data");
我仍然只是得到一个带有名称和 ID 的数组。
为什么我没有看到额外的信息?
这不是完整的代码,但有很多(大部分来自 Facebook GitHub 主帐户的 example.php):
<?php
if ($user):
echo "Name: " . $user_profile['name']; ?> <br />
<?php echo "Location: " . $user_profile['location']['name']; ?> <br />
<?php echo "Bio: " . $user_profile['bio']; ?> <br />
<?php
foreach($user_profile['work'] as $work) {
echo "Work: " . $work['employer']['name'];?><br />
<?php echo "Position: " . $work['position']['name'];?><br />
<?php
}
?>
<img src="https://graph.facebook.com/<?php echo $user; ?>/picture?type=large">
<h3>Your User Object (/me)</h3>
<pre><?php
print_r($friends);
?></pre>
<?php
echo '<ul>';
foreach ($friends["data"] as $value) {
echo '<li>';
echo '<div class="pic">';
echo '<img src="https://graph.facebook.com/' . $value["id"] . '/picture?type=large"/>';
echo '</div>';
echo '<div class="picName">'.$value["name"].'</div>';
echo '<div class="location">'.$value["location"]["name"];
echo '<div class="bio">'.$value["bio"];
echo '</div>';
echo '</li>';
}
echo '</ul>';
?>
API 调用(请注意,我创建 $permissions 只是为了进行测试以确保我得到它,并且它们正在显示)。
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
$permissions = $facebook->api('/me/permissions');
$friends = $facebook->api('/me/friends');
}
catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}