PHP ile Facebook Giriş Uygulaması İçin ;
Önce bir uygulama lazım. Facebook’a herhangi bir istekte bulunmak için öncelikle bir uygulamaya ihtiyacımız var. Çünkü bu uygulama’nın verdiği appId ve secret key’i ile facebook’dan ilk etapta izin almamız gerekiyor. Eğer uygulama oluşturmayı bilmiyorsanız videoya göz atabilirsiniz.
Uygulama oluşturma adresi;
https://developers.facebook.com/appsSıra geldi PHP SDK’ya
Kullanabilmemiz için facebook’un php kütüphanesini indirmemiz gerekiyor. Bunuda github üzerinden indiriyoruz. İçerisinde bir çok dosya mevcut, bize lazım olan “src” klasörü.
PHP SDK indirme adresi;
https://github.com/facebook/facebook-php-sdkİlk olarak src klasörü içinde bulunan facebook.php‘yi sayfamıza dahil edelim.
require 'src/facebook.php';
Daha sonra facebook’dan uygulamamız için izin alalım. Bunun için facebook sınıfını başlatıyoruz. Ve dizi olarak uygulama’da verilen appId ve secret key’i gönderiyoruz.
$facebook = new Facebook(array(
'appId' => 'senin app id değerin',
'secret' => 'senin secret key değerin'
));
Sıra geldi kullanıcının giriş yapıp yapmadığını anlamaya.. Bunun için getUser() metodunu kullanacağız. Eğer kullanıcı giriş yapmışsa üye id’sini yapmamışsa 0 değerini bize döndürüyor. Bizde buna göre kontrollerimizi yapabiliriz.
$userid = $facebook->getUser();
Eğer kullanıcı giriş yapmışsa hemen bir try – catch yapısı oluşturalım. Ve kullanıcı değerlerini api() metodu ile alalım. Eğer sorun çıkarsa facebook exception ile bunu yakalayıp ekrana bastıralım.
if ( $userid ){
try {
$profile = $facebook->api('/me');
} catch ( FacebookApiException $e ){
print $e->getMessage();
$userid = null;
}
}
Burada uygulamaya izin veren kullanıcının bilgilerini “/me” değerini göndererek alıyoruz. Bir dizi halinde $profile değişkeninde değerler depolanıyor eğer giriş yapılmış ise.
Şimdi giriş yapmışsa çıkış url’sini giriş yapmamış ise giriş url’sini yine metodlar ile belirleyelim;
if ( $userid ){
$logout = $facebook->getLogoutUrl(array(
'next' => 'http://www.wmaraci.com/facebook/logout.php'
));
} else {
$login = $facebook->getLoginUrl(array(
'scope' => 'email'
));
}
Burada çıkış url’sinde next parametresini göndermek zorunda değilsiniz. Bu parametre şunu yapıyor, önce facebook’dan çıkış yapıyor kullanıcı eğer next parametresi varsa daha sonra oraya yönlendiriliyor. Yok ise geri geldiği sayfaya yönlendiriliyor.
Giriş url’sinde ise scope parametresinde kullanıcıya ait ekstra bilgiler almak istersek bunları belirtiyoruz. Birden fazla için virgül ile ayırmanız gerekiyor. Eğer scope değeri belirtilmez ise kullanıcının herkese açık bilgileri (ki bu kişiden kişiye göre değişir) bilgileri alınır. Kesin olarak almanız gereken bir bilgi var ise bunu scope değerinde mutlaka belirtin.
Kullanabileceğiniz değerlere şu adresten ulaşabilirsiniz;
https://developers.facebook.com/docs/facebook-login/permissions/Şimdi artık giriş yapmamışsa giriş yap linkini giriş yapmışsa profil bilgilerini ekrana yazdırabiliriz;
if ( $userid ){
print_r($profile);
} else {
print 'Giris Yap';
Evet her şey başarılıysa sizi kutlarım..
Takıldığınız Yer Olursa Sorabilirsiniz