0
<?php
$fb = new Facebook(array(
    'appId' => $fb_config['app_id'],
    'secret' => $fb_config['secret'],
));

$params = array(
    'scope' => 'email, read_stream, user_interests, user_likes, user_location, user_status',
    'redirect_uri' => 'http://myurl/facebook_connect',
);

$fb_login_url = $fb->getLoginUrl($params);

$this->redirect($fb_login_url);

$user = $fb->getUser();

print_r($user); // returns 0
?>

getLoginUrl上記の例では、結果にリダイレクトすると、getUser()メソッドはゼロを返します。

これが起こっている理由はありますか?

4

1 に答える 1

2

Facebook PHP SDKパスappId、、、secretをアプリの設定に置き換えredirect_uriて、次を試してください。

require_once dirname(__FILE__) . '/facebook/facebook.php'; // You need Facebook PHP SDK
$facebook = new Facebook(array(
    'appId' => $fb_config['app_id'],  // Your Facebook app id
    'secret' => $fb_config['secret'], // Your Facebook app secret
    'cookie' => true
));

$fb_user_id = $facebook->getUser();
if ($fb_user_id) {
    try {
        $fb_user_profile = $facebook->api($fb_user_id);
        var_dump($fb_user_profile);
    } catch (FacebookApiException $e) {
        error_log($e);
    }
} else {
    $params = array(
        'scope' => 'email, read_stream, user_interests, user_likes, user_location, user_status',
        'redirect_uri' => 'http://myurl/facebook_connect', // Replace with your app url
    );
    $facebook_login_url = $facebook->getLoginUrl($params);
    echo '<script>top.location="' . $facebook_login_url . '";</script>';
    exit();
}
于 2013-07-20T12:40:45.520 に答える