2

最初に「ログインURL」を取得します:

if (!$facebook->getUser())
{
    $login_url = $facebook->getLoginUrl(array(
        'scope' => 'publish_stream' 
    ));
}

そしてそれにリダイレクトします。ユーザーがログインしていない場合は、ログインするように要求します。ユーザーがアプリを承認する必要がある場合は、それも要求します。

問題は、ユーザーがアプリを承認し、redirect_uri にリダイレクトした後でも、ユーザーに関する情報を取得するためにトークンを取得できることです。これ:

$facebook->getAccessToken()

アプリのアクセス トークン (パイプが真ん中にあるもの) を返します。これ: $facebook->getUser() は 0 を返します。そして、ログイン URL を要求する無限ループで終了します (最初に、APP の承認を要求します)。 ) $facebook->getUser() が 0 を返すため、redirect_uri へのリダイレクトが再度要求されます。

そして面白いのは、このコードを他のサーバー(世界の他の場所にあるサーバー)で使用すると機能することです。そして、これを他のサーバー(世界の他の場所でも)で試してみると、60%しか機能しません。

問題はどこだ?私のコードで?私のサーバーで?フェイスブックで?

ありがとう !!!

4

2 に答える 2

1

$facebook->getAccessTokenFromCode($_GET['code'])代わりに使用してみてください。

于 2012-10-31T11:42:07.110 に答える
0

私も時々この問題に遭遇しました。すると、その間、私は通常のプロフィールとしてではなく、同じアプリのページとして Facebook を使用していました。したがって、この問題に直面したときはいつでも、ページではなくユーザー プロファイルとして Facebook を使用していることを確認できます

これにより、少なくとも将来誰かの欲求不満が解消されることを願っています。問題は解決しましたが、答えてください。

于 2013-01-06T02:50:01.277 に答える