0
<?php
require "facebook.php";

$facebook = new Facebook(array(
    'appId'  => '3288@@@@@@@@@@',
    'secret' => 'ca2@@@@@@@@@@@@@@@@@@',
));

$user = $facebook->getUser();

if ($user) {
  try {
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    $user = null;
  }
}
?>
<?php if ($user): ?>
    <form action="#" method="get">
      NAME:  <input type="text" name="name"
            value="<?php echo $user_profile['name'] ?>"><br>
        KID'S NAME <input type="text" name="kid"><br>
        DOB <input type="text" name="kid" value="<?php echo $user_profile['birthday'] ?>"><br>
        ADDRESS <input type="text" name="kid" value="<?php echo $user_profile['email'] ?>"><br>

        KID'S GENDER 
        male<input type="radio" name="r" value="male">      
        female <input type="radio" name="r" value="male"> <br>      
    EMAIL:   <input type="text" name="name"
            value="<?php echo $user_profile['email'] ?>"><br>
        <input type="submit" value="Continue &rarr;">
    </form>
    <a href="<?php echo $facebook->getLogoutUrl() ?>">
        Logout of Facebook
    </a>
<?php else: ?>
    <a href="<?php echo $facebook->getLoginUrl() ?>">
        Login with Facebook
    </a>
<?php endif ?>

我已经创建了应用程序,并且我有应用程序 id 和密钥。现在我需要每当新用户点击登录页面时,它都会预先填写表单页面,但是当我登录时,它只显示我的详细信息,而当另一个用户登录时,它什么也没显示

4

1 回答 1

2

它显示您的信息,因为您创建了应用程序并且您自动获得了许可。

对于其他人,您需要您的应用先征得他们的许可。

你应该做的第一件事是:

$params = array(
  'scope' => 'read_stream,publish_stream',
  'redirect_uri' => 'https://www.myapp.com/login_approved.php'
);
$url = $facebook->getLoginUrl($params);
echo '<a href="' . $url . '">Give My App Access!</a>';

然后创建login_approved.php或任何您想要处理的页面,当有人批准您的应用程序时会发生什么。最值得注意的是它应该记录用户的访问令牌。您需要向用户的访问令牌提供您的应用程序的访问令牌以获取他们的信息。

于 2013-08-19T20:17:00.437 回答