私のアプリケーションでは、さまざまなケースをすべて処理する必要があります。標準ケースでは問題ありませんが、エッジ ケースでは問題があります。たとえば、
- アプリのシークレットが間違って入力されました
- ユーザーがアプリの認証を取り消しました
これは私のコードです
//I have already checked that the app id is valid
require AI1EC_LIB_PATH . '/facebook-php-sdk/src/facebook.php';
// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
'appId' => $plugin_settings['facebook-app-id'],
'secret' => $plugin_settings['facebook-app-secret'],
));
// Get User ID
$user = $facebook->getUser();
// We may or may not have this data based on whether the user is logged in.
//
// If we have a $user id here, it means we know the user is logged into
// Facebook, but we don't know if the access token is valid. An access
// token is invalid if the user logged out of Facebook.
if ( $user ) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api( '/me' );
} catch ( FacebookApiException $e ) {
error_log( json_encode( $e->getResult() ) );
$user = NULL;
}
}
// Login or logout url will be needed depending on current user state.
if ( $user ) {
$logout_url = $facebook->getLogoutUrl();
echo "OK!";
} else {
$params = array(
'scope' => 'user_events, friends_events',
);
$login_url = $facebook->getLoginUrl( $params );
$args = array(
'login_url' => $login_url,
);
$ai1ec_view_helper->display_admin( 'plugins/facebook/user_login.php', $args );
}
特定のエラーの処理をどこに置くべきですか?「問題が発生しました。アプリのシークレットが正しく入力されているかどうかを確認してください」や「アプリの認証が解除されました」などの素敵なメッセージをユーザーに表示したいと思います。y がそれを行うべきは catch() ブロックにあるのかもしれませんが、チェックするコードがわかりません。
誰でも助けることができますか?