0

Facebook PHP API に問題があります。ここに私のコードがあります:

<?php
$facebook = new Facebook(array(
    'appId'  => 'MY_APP_ID',
    'secret' => 'MY_SECRET'
));

$uid = $facebook->getUser();
if ($uid) {
    try{
        $user = $facebook->api('/me');
    } catch (Exception $e){
        error_log($e);
        $user = null;
    }
}

if (!$uid) {
    $login_url = $facebook->getLoginUrl(array(  
        'next' =>   'http://www/mywebsite.com', 
        'redirect_uri' =>   'http://www/mywebsite.com', 
        'scope' => 'email,publish_stream,user_birthday,user_location'
    ));

    echo '<a href="'.$login_url.'">TEST TO CONNECT</a>';
} else {
    print_r($user);
}

$facebook->getUser(); のように TEST TO CONNECT という行が表示され続けます。常に 0 を返します。

ご協力ありがとうございました

4

3 に答える 3

1

エラーが表示されますか? ログインページに移動して戻ってきましたか? それとも大丈夫ですか?

コードのエラーはif (!$uid)、ログイン URL を生成する部分の下にあるようです。

そこに何があるのか​​ 本当にわかり'next' => 'http://www/mywebsite.com',ません。

これを使ってみてください:

$loginUrl = $facebook->getLoginUrl(
                array(
                   'scope'         => 'publish_stream,read_friendlists,user_photos',
                   'redirect_uri'  => $redirecturi
                )
            );

また、Facebook PHP SDK ファイルを含めることを忘れないでください。

require_once("facebook.php");//or full location if the file is placed elsewhere.

于 2012-11-14T09:06:48.390 に答える
0

それが完全なコードである場合、1つの大きな問題があります。最初にFacebookクラスを含めなかったということです。

include 'Facebook.php';

また、アプリIDとアプリシークレットが正しいことを確認してください。また、「publish_stream」の代わりに「publish_actions」を使用してください。

それでも問題が解決しない場合は、デバッグしてください。フェイスブックは通常、何が悪いのかを教えてくれます。

于 2012-11-14T09:03:29.807 に答える
0

同様の問題に直面しました。私はインターネット中を検索し、ブログやフォーラムにアクセスしましたが、すべてが無駄でした. そこで、PHP SDK の代わりに facebook の JS SDK を使うことにしました。これを行ったとき、JS SDK は、私のアカウントが他のブラウザーからアクセスされたと言って、ログイン プロセスを拡張しました。この拡張表示は、php SDK 側からは表示されませんでした。元に戻って、もう一度 PHP SDK を使用してみる必要があると思いましたが、うまくいきませんでした。

したがって、基本的にはコードのエラーではなく、fb のログイン プロセスがこのエラーを引き起こします。2 つのオプションがあります。i) 友達にテスト ログインへの参加を依頼する ii) js SDK を使用する

于 2014-03-17T13:04:30.410 に答える