我正在使用 Facebook Graph API 从 Facebook 用户列表中获取性别。我有用户的 ID(他们是我的应用程序的当前用户)。为此,我不需要使用 API,因为性别不需要特殊权限(即使我已经获得了基本信息权限)。基本上,我使用while循环来遍历MySQL表上的所有行,该表存储了我在用户使用应用程序时抓取的FB id。当我在 while 循环之外执行 json_decode 代码时,效果很好(但显然只抓取了表中的第一个实例)。然后当我把它放在一个循环中时,页面就不会加载。它只是坐着并试图永远加载。这是代码:
$sql = "SELECT * FROM fb_id ORDER BY timestamp DESC";
$result = $mysqli->query($sql);
while($row = mysqli_fetch_array($result)){
$jsonurl = "https://graph.facebook.com/".$row['fb_id'];
$json = file_get_contents($jsonurl,0,null,null);
$json_output = json_decode($json);
$user_gender = $json_output->gender;
echo $user_gender;
}
while($row = mysqli_fetch_array($result)){
echo "<a href='http://www.facebook.com/".$row['fb_id']."' target='_blank'><img src='http://graph.facebook.com/".$row['fb_id']."/picture/' /></a>";
}
您会看到代码的顶部是针对性别的。底部循环是显示用户的个人资料图片。那个底部循环工作正常。
任何想法为什么对 Facebook Graph 的调用会卡住?谢谢!