Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t使用facebook登录&x27;什么是php示例?_Php_Facebook_Oauth 2.0 - Fatal编程技术网

Can';t使用facebook登录&x27;什么是php示例?

Can';t使用facebook登录&x27;什么是php示例?,php,facebook,oauth-2.0,Php,Facebook,Oauth 2.0,几天来,我断断续续地试图让它发挥作用,但似乎毫无进展。无论我尝试过什么,我都能得到 您没有连接。奈提克的公众简介 我使用的是共享ssl,这与此有关系吗? 我猜这是给我带来问题的OAuth2.0? 如果我转到https://www.facebook.com/dialog/oauth?client_id=IDNUMBER&redirect_uri=https://apps.facebook.com/...我可以查看我的所有信息 但如果我只是在facebook主页上点击应用程序,它会说我没有登录? 有

几天来,我断断续续地试图让它发挥作用,但似乎毫无进展。无论我尝试过什么,我都能得到

您没有连接。奈提克的公众简介

我使用的是共享ssl,这与此有关系吗? 我猜这是给我带来问题的OAuth2.0? 如果我转到
https://www.facebook.com/dialog/oauth?client_id=IDNUMBER&redirect_uri=https://apps.facebook.com/...
我可以查看我的所有信息 但如果我只是在facebook主页上点击应用程序,它会说我没有登录? 有什么想法吗? 谢谢大家!

<?php


require 'src/facebook.php';

// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
  'appId'  => '...',
  '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</title>
    <style>
      body {
        font-family: 'Lucida Grande', Verdana, Arial, sans-serif;
      }
      h1 a {
        text-decoration: none;
        color: #3b5998;
      }
      h1 a:hover {
        text-decoration: underline;
      }
    </style>
  </head>
  <body>
    <h1>php-sdk</h1>

    <?php if ($user): ?>
      <a href="<?php echo $logoutUrl; ?>">Logout</a>
    <?php else: ?>
      <div>
        Login using OAuth 2.0 handled by the PHP SDK:
        <a href="<?php echo $loginUrl; ?>">Login with Facebook</a>
      </div>
    <?php endif ?>

    <h3>PHP Session</h3>
    <pre><?php print_r($_SESSION); ?></pre>

    <?php if ($user): ?>
      <h3>You</h3>
      <img src="https://graph.facebook.com/<?php echo $user; ?>/picture">

      <h3>Your User Object (/me)</h3>
      <pre><?php print_r($user_profile); ?></pre>
    <?php else: ?>
      <strong><em>You are not Connected.</em></strong>
    <?php endif ?>

    <h3>Public profile of Naitik</h3>
    <img src="https://graph.facebook.com/naitik/picture">
    <?php echo $naitik['name']; ?>
  </body>
</html>

尝试添加更多权限,如read\u friendlist,以便当用户按您的要求注销时,API在语句
$fb->API('/me')
上引发异常。为…设置


您还可以尝试将
$params=array('next'=>'您的登录页')
添加到您的facebook登录请求中,作为
$fb->loginUrl($params)

您能提供一些详细信息吗?我猜你上面粘贴的脚本正在你的服务器上某个地方运行,你制作了一个facebook画布应用程序来加载它?我对你说你只是不断收到错误信息的最初部分感到困惑。关于页面上的内容、你在哪里看到错误等的更多信息?你能在你的服务器代码中设置一个断点来逐步解决它吗?是的,这个脚本在我的服务器上,我还有一个facebook画布应用程序来加载它。我没有收到错误消息,但是这个脚本应该显示关于我自己的信息,但是它告诉我需要登录facebook(当我在facebook和canvas应用程序上时,这种情况发生在我身上),我不知道如何在php中设置断点,但我已经测试了一些东西,如果($user)它是假的,它看起来像哪里有。如果我尝试显示我的id,它为零。0表示你尚未验证该应用。你是只在IE中看到这一点,还是其他浏览器也在做同样的事情?我在共享(mediatemple)服务器上使用facebook的示例代码时遇到了同样的问题。你找到解决这个问题的办法了吗?
$params = array('scope' => 'read_friendlists, friends_photos');
//$facebook->getLoginUrl($params);
//$facebook->getLogoutUrl($params);
// now use these login logout urls