Facebook PHP SDKがユーザーにログインできない

すべて、 私はwordpressを使用していてfacebookで私のユーザーログインをしようとしています。私のheader.php Wordpressの私は次のコードがあります:

define('123', '123');

//uses the PHP SDK.  Download from https://github.com/facebook/php-sdk
require 'facebook.php';

$facebook = new Facebook(array(
  'appId'  => '123',
  'secret' => '12345',
  'cookie' => true,
));

$uid = $facebook->getUser();
if ($uid) {
    try {
        $userInfo = $facebook->api('/' + $uid);
        $qry = "Select user_id, role from event_details where email_address='$userInfo[email]'";
        echo $qry;
        $result = mysql_query($qry);
        $resultrows = mysql_num_rows($result);
        if($resultrows>0){
            $resultset = mysql_fetch_array($result);
            $_SESSION['user_id'] = $resultset['user_id'];
            $_SESSION['role'] = $resultset['role'];
            $target = "http://www.website.com/event_choices";
            header("Location:". $target);
        }
    } catch (FacebookApiException $e) {
        error_log($e);
    }
}else{
    echo "not logged into facebook";
}

if ($uid) {
    $logoutUrl = $facebook->getLogoutUrl();
} else {
    $loginUrl = $facebook->getLoginUrl(array(
    'next'=>'http://www.website.com/event_choices'
    ));
}

Wordpressで実際にページを作成すると、次のコードが表示されます。

<?php if ($uid): ?>
<?php echo "Welcome, ".$uid['first_name']. ".
"; ?> <?php else: ?> <?php endif ?>

これはログインボタンを表示しますが、ボタンをクリックするたびに何も起こりません。ソースコードを見ると、$ loginUrlにデータが入力されていません。私は間違って何をしていますか?

ありがとう!

0

1 答え

ログインURLを生成する際にスコープを渡すことはありません。これは、すべてのアプリケーションのアクセス許可が渡される場所です。見てみましょう:

$loginUrl   = $facebook->getLoginUrl(
    array(
        'scope'         => 'email,offline_access,publish_stream,user_birthday,user_location,user_work_history,user_about_me,user_hometown',
        'redirect_uri'  => 'http://www.website.com/event_choices'
    )
);

詳細については、APIリファレンスこちらをご覧ください。

また、Facebookで作業するときに、FBからの出力を得ることが重要な場合があります。これを行うには、次のようにコードをラップします。

try {
    $user = $facebook->getUser();
    //you can also put your loginURL generation code here to see if you get an error
} catch(Exception $o){
    print_r($o);
}
0
追加された
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com