Facebook Login API’sini kullanarak PHP ile Facebook ile giriş yapma işlemi yapabilirsiniz. Aşağıdaki adımları izleyerek Facebook ile giriş yapmanızı sağlayabilirsiniz:
- Facebook Developer hesabı oluşturun: Facebook Login API’sini kullanmak için Facebook Developer hesabı oluşturmanız gerekir.
- Uygulama oluşturun: Facebook Developer hesabınızda bir uygulama oluşturun. Uygulama ayarlarınızda “Facebook Login” seçeneğini etkinleştirin.
- SDK kurun: Facebook Login için PHP SDK kurmanız gerekir. SDK’yı buradan indirebilirsiniz: https://github.com/facebook/facebook-php-sdk
- Giriş işlemini yapın: Kullanıcının Facebook ile giriş yapmasını istediğiniz sayfaya aşağıdaki kodu ekleyin:
<?php
require_once __DIR__ . '/vendor/autoload.php';
$fb = new Facebook\Facebook([
'app_id' => 'YOUR_APP_ID',
'app_secret' => 'YOUR_APP_SECRET',
'default_graph_version' => 'v3.3',
]);
$helper = $fb->getRedirectLoginHelper();
$permissions = ['email']; // Optional permissions
$loginUrl = $helper->getLoginUrl('https://example.com/fb-callback.php', $permissions);
echo '<a href="' . htmlspecialchars($loginUrl) . '">Log in with Facebook!</a>';
?>
5. Giriş başarılıysa kullanıcı verilerini alın: Facebook ile giriş yapıldıktan sonra kullanıcı verilerini almak için aşağıdaki kodu ekleyin:
<?php
require_once __DIR__ . '/vendor/autoload.php';
$fb = new Facebook\Facebook([
'app_id' => 'YOUR_APP_ID',
'app_secret' => 'YOUR_APP_SECRET',
'default_graph_version' => 'v3.3',
]);
$helper = $fb->getRedirectLoginHelper();
try {
$accessToken = $helper->getAccessToken();
} catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
if (! isset($accessToken)) {if ($helper->getError()) {
header('HTTP/1.0 401 Unauthorized');
echo "Error: " . $helper->getError() . "\n";
echo "Error Code: " . $helper->getErrorCode() . "\n";
echo "Error Reason: " . $helper->getErrorReason() . "\n";
echo "Error Description: " . $helper->getErrorDescription() . "\n";
} else {
header('HTTP/1.0 400 Bad Request');
echo 'Bad request';
}
exit;
}
// Logged in
echo '<h3>Access Token</h3>';
var_dump($accessToken->getValue());
// The OAuth 2.0 client handler helps us manage access tokens
$oAuth2Client = $fb->getOAuth2Client();
// Get the access token metadata from /debug_token
$tokenMetadata = $oAuth2Client->debugToken($accessToken);
echo '<h3>Metadata</h3>';
var_dump($tokenMetadata);
// Validation (these will throw FacebookSDKException's when they fail)
$tokenMetadata->validateAppId('YOUR_APP_ID'); // Replace {app-id} with your app id
// If you know the user ID this access token belongs to, you can validate it here
//$tokenMetadata->validateUserId('123');
$tokenMetadata->validateExpiration();
if (! $accessToken->isLongLived()) {
// Exchanges a short-lived access token for a long-lived one
try {
$accessToken = $oAuth2Client->getLongLivedAccessToken($accessToken);
} catch (Facebook\Exceptions\FacebookSDKException $e) {
echo "<p>Error getting long-lived access token: " . $helper->getMessage() . "</p>\n\n";
exit;
}
echo '<h3>Long-lived</h3>';
var_dump($accessToken->getValue());
}
$_SESSION['fb_access_token'] = (string) $accessToken;
// User is logged in with a long-lived access token.
// You can redirect them to a members-only page.
//header('Location: https://example.com/members.php');
?>
Bu, Facebook Login API’sini PHP ile nasıl kullanabileceğinizi gösteren bir örnektir. Ayrıntılı bilgi için Facebook Developer Dokümanları’nı inceleyebilirsiniz.
Previous post
Yanıt Geçerli Bir JSON Yanıtı Değildir Hatası Çözümü (WordPress)Next post
Flutter ile YapılacakbileklerRecent Comments
Görüntülenecek bir yorum yok.