0

Facebook PHP SDK を使用してアプリを作成し、セットアップしました。私はそれをテストしていますが、プロフィールから画像が表示されますが、要求されたユーザー情報が表示されません。これが結果のスクリーンショットです 結果のスクリーンショット

これが、サーバーにアップロードしたphpコードです。App ID と Secret はここから削除されていることに注意してください。

<?php

require ('src/facebook.php');

$app_id = " "; //has been removed
$secret = " "; //has been removed
$app_url = "http://apps.facebook.com/instahomework/";

// Create our Application instance (replace this with your appId and secret). 
$facebook = new Facebook(array(
  'appId'  => $app_id,
  'secret' =>  $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;
  }
}

// Login or logout url will be needed depending on current user state.
if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();
} else {
  $loginUrl = $facebook->getLoginUrl(); 
}
// This call will always work since we are fetching public data.
$naitik = $facebook->api('/naitik');

?>
<!doctype html>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
    <title>php-sdk example 1 - user login and authorisation</title>
    <style>
        body { font-family: Helvetica, Verdana, Arial, sans-serif; }
        a { text-decoration:none; }
        a:hover { text-decoration:underline; }
    </style>
</head>
<body>
<pre>
<?php print_r($_REQUEST); ?>
</pre>
    <?php if ($user) { ?>
        <h2>Welcome</h2>
        <img src="https://graph.facebook.com/<?php echo $user; ?>/picture"><br/>
        <a href="<?php echo $link; ?>"><?php echo $name; ?></a><br/>
        <br/>
        Gender : <?php echo $gender; ?><br/>
        Locale : <?php echo $locale; ?><br/>
        Username : <?php echo $username; ?><br/>
    <?php } else { ?>
        <strong><em>You have not granted this App permission to access your data. Redirecting to permissions request...</em></strong>
<?php } ?>
</body>
</html>
4

1 に答える 1

3

HTML コードを次のように置き換える必要があります。

    <h2>Welcome</h2>
    <img src="https://graph.facebook.com/<?php echo $user; ?>/picture"><br/>
    <a href="<?php echo $user_profile['link']; ?>"><?php echo $user_profile['name']; ?></a><br/>
    <br/>
    Gender : <?php echo $user_profile['gender']; ?><br/>
    Locale : <?php echo $user_profile['locale']; ?><br/>
    Username : <?php echo $user_profile['username']; ?><br/>

必要な「ユーザー情報」は、次のコード行によって要求されるためです。

$user_profile = $facebook->api('/me');

$user_profile配列に格納されます。

別の回避策 (推奨されません) はextract()、次のコード行を追加して、facebook からグローバル変数スコープにデータを抽出することです。

extract($user_profile);
于 2012-12-25T08:28:47.310 に答える