0

これが機能していないコードです。アプリを使用している現在のユーザーの友達のリストを表示したい。ブラウザに変数$urlを入力し、アクセストークン変数をページに印刷されているアクセストークンに置き換えることで、JSONファイルを手動で取得できます。セキュリティ上の理由から、いくつかの詳細を削除しました。

<?php
require 'fb/facebook.php';

$fbconfig['appUrl'] = "REMOVED_FOR_SECURITY"; 

// Create An instance of our Facebook Application.
$facebook = new Facebook(array(
  'appId'  => 'REMOVED_FOR_SECURITY',
  'secret' => 'REMOVED_FOR_SECURITY',
  'cookies' => 'true',
));

// Get the app User ID
$user = $facebook->getUser();
$access_token = $facebook->getAccessToken();

if ($user) {
    try {
        // If the user has been authenticated then proceed
        $user_profile = $facebook->api('/me');
    } catch (FacebookApiException $e) {
        error_log($e);
        $user = null;
    }
}

// If the user is authenticated then generate the variable for the logout URL
if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();

?>
<html>
<head>
<title>Friend's JSON</title>
</head>
<body>
<?php
echo $user_profile['name'] . " is connected.";
echo "<br />Access token: " . $access_token;

$url = "https://graph.facebook.com/fql?q=SELECT name, uid FROM user WHERE is_app_user=REMOVED_FOR_SECURITY and uid IN (SELECT uid2 FROM friend WHERE uid1 = me())&access_token=" . $access_token;
$json = file_get_contents($url,0,null,null);
$array = json_decode($json, true);
echo $array['data']['name'];
echo $array['data']['uid'];
?>
</body>
</html>
<?php  
} else {
  $loginUrl = $facebook->getLoginUrl(array('redirect_uri' => $fbconfig['appUrl']));
  print "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
}
?>

表示されるのは次の2行だけです。

echo $user_profile['name'] . " is connected.";
echo "<br />Access token: " . $access_token;

なぜそれが機能していないと思いますか?どんな助けでもいただければ幸いです。前もって感謝します。

4

1 に答える 1

0

そのアプリを使用しているユーザーの友達のリストに使用しているコードは次のとおりです。

$facebook->api(array('method' => 'fql.query', 'query' => "SELECT uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=me()) AND is_app_user = 1"));

var_dump戻り値:

array(5) {
  [0]=>
  array(1) {
    ["uid"]=>
    string(15) "100000670846118"
  }
  [1]=>
  array(1) {
    ["uid"]=>
    string(15) "100001811974704"
  }
  …
}
于 2012-09-04T10:57:55.647 に答える