stdClass对象([error] => stdClass对象([type] => OAuthException [message] =>验证应用程序时出错。))

时间:2011-09-07 19:55:41

标签: php facebook request signed

我验证了我的appid,appsecret是正确的,我的access_token是正确有效的。我仍然收到“错误验证应用程序”。错误信息。有谁知道为什么会这样?

<?php

define('YOUR_APP_ID', 'x');
define('YOUR_APP_SECRET', 'x');

function get_facebook_cookie($app_id, $app_secret) {
  $args = array();
  parse_str(trim($_COOKIE['fbs_' . $app_id], '\\"'), $args);
  ksort($args);
  $payload = '';
  foreach ($args as $key => $value) {
    if ($key != 'sig') {
      $payload .= $key . '=' . $value;
    }
  }
  if (md5($payload . $app_secret) != $args['sig']) {
    return null;
  }
  return $args;
}

$cookie = get_facebook_cookie(YOUR_APP_ID, YOUR_APP_SECRET);

$access_token="AAADDMjYCsTABAAbzGa3vLtSq7rt4iZBmnuFXUDRVxVnZAm8HbQp2chBBUIfJpAADiJWOu5TIPr0tnnKDhLEbXCicqLl8sP6KFT1vb8ZCkz6PeuUMUIs";
$url = 'https://graph.facebook.com/me?access_token=' . $access_token;

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
curl_close($ch);

$user = json_decode($response);
print_r($user);

?>
<html>
  <body>
    <?php if ($cookie) { ?>
      Welcome <?php  ?>
    <?php } else { ?>
      <fb:login-button></fb:login-button>
    <?php } ?>
    <div id="fb-root"></div>
    <script src="http://connect.facebook.net/en_US/all.js"></script>
    <script>
      FB.init({appId: '<?= YOUR_APP_ID ?>', status: true,
               cookie: true, xfbml: true});
      FB.Event.subscribe('auth.login', function(response) {
        window.location.reload();
      });
    </script>
  </body>
</html>

1 个答案:

答案 0 :(得分:1)

我建议你保持appid和appsecret秘密。不要在这样的网站上发布。