Аутентификация пользователя на Facebook и публикация на стене пользователя - PullRequest
1 голос
/ 15 марта 2012

Я следовал это видеоурок, но я застрял. Когда я нажимаю на ссылку входа в систему, браузер продолжает загружаться, и тогда ничего не происходит, и все равно страница входа в систему передо мной. Всегда возвращайте 0 в $ user_id.Это показывало мне страницу аутентификации Facebook 1–2 раза ранее, и я нажал «разрешить», но теперь ничего не происходит. Еще одна вещь, когда я нажимаю ссылку для входа, URL-адрес браузера меняется с

"http://localhost/php/fbdata.php"

до

"http://localhost/php/fbdata.php?state=e1d5ccf919c6a9d3325200596c12b447&code=AQDg8hE1GuKQ6eq9nGeLV8BIK8EjeIuY8Drf6g0FwAWAjGkvFi70EoNquPmoYsk2PxKpcfxVWYqNgVxU7rRQ-xBxcZXziH5n9IXNNl1KKzLtUYgVRKqWRczh2wINcvDY8WuWoMpIETxWpYhIbrZ-w46xB1v2YMADbOfrFNxLhiyIC239GIQRC__Tw_KiYoZiK1A#="

Я понятия не имею, возвращает ли он мне что-то или что-то еще. Чего я хочу, так это того, что я могу публиковать «Привет, мир» на своей странице в Facebook. Вот мой php-код.

require_once('facebook.php');


$config = array(
'appId' => 'xxxxx',
'secret' => 'xxxxxxxxxx',
'cookie' => 'true'
  );

$facebook = new Facebook($config);
$user_id = $facebook->getUser();

$user_profile=null;  

if($user_id) 
{

  try 
  {
        $user_profile = $facebook->api('/me');
        $facebook->api('/me/feed','post',array(
        'message'=>'hello world'
        ));

  } 
  catch(FacebookApiException $e) 
  {
        echo $e->getMessage();
  }   

}

if($user_id)
{
    $logout_url=$facebook->getLogoutUrl();  
    echo "<a href='$logout_url'>Logout</a>";
}
else
{
    $login_url=$facebook->getLoginUrl(array(
    'scope'=>'read_friendlists,publish_stream,email,user_work_history,user_website,user_religion_politics,user_relationship_details,user_relationships,user_interests,user_hometown,user_education_history,user_birthday,user_about_me'
    ));
    echo "<a href='$login_url'>Login</a>";

}

1 Ответ

0 голосов
/ 15 марта 2012

Mauzzam,

Этот код работает для меня - пожалуйста, посмотрите на папку примеров в PHP SDK

<code><?php
require '../src/facebook.php';

// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
  'appId'  => '350881691595504',
  'secret' => 'a50ae255f0ba3c24000e38ede7f666b9',
));

$user = $facebook->getUser();

if ($user) {
  try {
    $response = $facebook->api('/me/feed','post',array(
      'message'=>'hello world'
    ));
  } 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();
}

?>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
  <head>
    <title>PHP SDK TEST</title>
  </head>
  <body>
    <?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 ?>

    <?php if ($user): ?>
      <h3>Hello World Result</h3>
      <pre><?php print_r($response); ?>
Вы не подключены.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...