9

私のアプリには、次のコードがあります。

$loginUrl = $facebook->getLoginUrl( array( 'scope' => 'publish_stream' ) );
header("Location: ".$loginUrl);

これにより、ユーザーは Facebook に移動し、次のように尋ねられます。

'[oshirowanens app] would also like permission to:
Post on your behalf
This app may post on your behalf, including status updates, photos and more.
Allow - Skip

をクリックすると、アプリにリダイレクトされ、ユーザーが Facebook アカウントへのログインに失敗した場合と同様に、Skip次の URL パラメータが表示されると予想されます。errorerror_reasonerror_description

(省略可能) ログイン/承認プロセスが完了したときにユーザーをリダイレクトする URL。ユーザーは、ログインの成功と失敗の両方で URL にリダイレクトされるため、認証ドキュメントで説明されているように、URL のエラー パラメーターを確認する必要があります。このプロパティが指定されていない場合、ユーザーは現在の URL (つまり、このメソッドが呼び出されたページの URL、通常はユーザーのブラウザーの現在の URL) にリダイレクトされます。

ソース: https://developers.facebook.com/docs/reference/php/facebook-getLoginUrl/

のようなアクセス許可認証要求をスキップするために、そのようなものはありpublish_streamますか?

4

3 に答える 3

5

実際に FB からのログイン プロセスを見ると、2 段階のプロセスになります。

最初に、FB アカウントでログインするように求められます。同じページで、アプリがユーザーに求めている「基本的な権限」のリストを確認できます。

このステップの後、' Accept ' & ' Skip ' を使用した拡張アクセス許可と呼ばれるアクセス許可のセットを含む別のダイアログが表示されます。拡張アクセス許可は、ユーザーがスキップ時に決定できるアクセス許可であり、スキップした後でもユーザーはアプリケーションにアクセスできます。

したがって、ユーザーが拡張アクセス許可をスキップしても、FB はこれをエラーとして扱わないため、アプリケーションには何も返されません。

それでも、求めているパーミッションがアプリケーションにとって重要であると思われる場合は、そのパーミッションに関連する操作を実行しようとしているときに、それらに尋ねることができます。あなたの場合、 user's wall に投稿しようとしているときに、その許可を求めてからアクションを実行できます。

不足している許可を処理する方法については、こちらを参照してください。

また、許可を求める際のベスト プラクティスについては、FB ガイドラインを参照してください。

于 2013-02-20T10:51:01.290 に答える
-2

これを試して !

$facebookUser = $facebook->getUser();

if ($facebookUser) {
    try {
// Proceed knowing you have a logged in user who's authenticated.
        $user_profile = $facebook->api('/me');
    } catch (FacebookApiException $e) {
        print_r($e);
    }
}

また

Facebook接続APIコールバックURL

于 2013-02-15T09:17:00.283 に答える