Asp İle Facebook Login Ve Üyelik İşlemleri
-
3-4 gündür uğraşıyorum ama bir türlü çözemedim. amacım normal üyelik sistemine facebook kullanıcısıyla da giriş yapmayı entegre etmek. http://www.codeproject.com/Articles/94067/Classic-ASP-Integration-with-Facebook-Websites-Fea linkinde bir döküman buldum ama onunla da bişey başaramadım. facebookta app oluşturmadan başlayarak mevzuyu anlatabilecek bir müridimiz var mı?
not: asp.net değil, klasik asp ile yapılacak.
-
çizikk
-
Lightsaber bunu yazdı
çizikk
-
zamanında çok uğraşmıştım ama şimdi hatırlayamıyorum sanırım en son çıkan verileri veri tabanına yazdıramamış ve bırakmıştım emin değilim temiz bir anlatım olsada hepimiz faydalansak :)
-
FOXXLY bunu yazdıLightsaber bunu yazdı
çizikk
-
sen hangi kısımda takıldın ?
-
SinusX bunu yazdı
sen hangi kısımda takıldın ?
komple anlatan olursa daha sağlıklı olur diye düşünüyorum. zaten çok uzun bir işlem değil ama yapamıyorum bir türlü.
-
Madem bukadar çok arayan var bir döküman hazırlayayım ozaman bekleyin hocalar
-
by_Tet bunu yazdı
Madem bukadar çok arayan var bir döküman hazırlayayım ozaman bekleyin hocalar
aha bak asp ci gelmiş gelir şimdi sağlam bişey
-
Facebook Javascript ve ASP kullanarak kullanıcı girişi vs. yaptırma detaylı anlatımı çatpat bilgimle başlıyorum;
Ben daha çok js işlemlerimde jQuery kullandığım için sayfamızın en başına jQuery'yi ekleyelim;<!DOCTYPE> <html> <head> <title>ASP&jQuery Facebook Login işlemleri</title> <script src="http://code.jquery.com/jquery-latest.js"></script> </head>
Evet tüm html'imizi taslak olarak tanımladık. Şimdi Facebook'u tanımlama sırası. Aşağıdaki işlemlere başlamadan önce UYARI! Facebook APP oluşturma ve APP id alma hakkında bilginiz olması gerekiyor. Eğer elinizde Facebook APP yoksa bu işlemlere hiç bulaşmayın bir güzel facebook uygulaması hakkında bilgi sahibi olun.
Facebook'un kendi oluşturduğu bir js. kütüphanesi var. Bizim bu kütüphaneye ulaşıp html sayfamıza gömmemiz gerekiyor. Bunu js ile yapabilirsiniz ama ben jQuery ile yaptım </body> tagının hemen üstüne şu kodları ekleyin (Neden? </head> değil de </body>? html5 standartları hızlı yüklenim ve jquery otomatik $(document).ready eklemesi gibi özellikleri var. yani heralde ben de bilmiyom :D)<script> $.ajaxSetup({ cache: true }); $.getScript('//connect.facebook.net/tr_TR/all.js', function(){ window.fbAsyncInit = function() { FB.init({appId: '129258357158141'}); // Yukarıda bahsettiğim app id giriliyor. Ben uygulamamda sitemin adresini (channelUrl) belirttiğim için bunu belirtmeme gerek kalmadı. Daha fazla bilgi için https://developers.facebook.com/docs/reference/javascript/ (ingilizce) // Burası tüm işlemlerimizi yapacağımız alan }, }); </script>
Facebook'un FB tagı altında pekçok fonksiyonu mevcut apisi nebiliyim işte login kontrolü felan. Bunları kullanacağız. Bunlar hakkında detaylı bilgi için de yine https://developers.facebook.com/docs/reference/javascript/ adresi kullanılabilir.
[ // Burası tüm işlemlerimizi yapacağımız alan ] dediğim kısımda login kontrolü yaptırmak için fbnin FB.getLoginStatus fonksiyonunu kullanalımFB.getLoginStatus(function(response) { alert(response.status); });
Bu kod ile kullanıcının durumunu görebiliriz. Çıkan sonuç; 'connected', 'not_authorized' veya 'unknown' şeklinde olacaktır. Connected: bağlanmış; not_auth: kullanıcı yetki vermemiş; unknown ise kullanıcı facebookta giriş yapmamış şeklinde özetleyebiliriz.
O halde bir if ekleyip farklı farklı alertler verelim;FB.getLoginStatus(function(response) { if(response.status=='connected'){ alert('Giriş yapmışız eyvallah'); }elseif(response.status=='connected'){ alert('Yetkisiz giriş mi :('); }else{ alert('facebook.comda giriş yapılmamış'); }; });
Şimdi siteye ilk giren birisiyse haliyle bir auth yapmamış olacak. O halde bunu yaptıralım. Bunu ise FB.login fonksiyonu ile yaptırıyoruz. Gayet basit;FB.getLoginStatus(function(response) { if(response.status=='connected'){ alert('Giriş yapmışız eyvallah'); }else if(response.status=='connected'){ FB.login(function(response) { // response ile döndürülen sonucu alabiliriz. şimdilik gerek yok. }, {scope: 'email,user_likes'}); }else{ alert('facebook.comda giriş yapılmamış'); }; });
scope: izin sınırları şeklinde özetleyebiliriz. e-posta ve kullanıcı beğenileri izni aldık örneğin.
Şimdi kullanıcı bilgilerimizi alalım (facebook.comda giriş yapılmamış kısmına da FB.login ekledimeyi unutmayın)
Kullanıcı bilgileri için FB.api kullanıyoruz.FB.getLoginStatus(function(response) { if(response.status=='connected'){ FB.api('/me', function(response) { alert(response.name); }); }else if(response.status=='connected'){ FB.login(function(response) { // response ile döndürülen sonucu alabiliriz. şimdilik gerek yok. }, {scope: 'email,user_likes'}); }else{ alert('facebook.comda giriş yapılmamış'); }; });
by_Tet tarafından 07/Ağu/13 02:18 tarihinde düzenlenmiştir
Burada name değişkeniyle tam adını aldık. Tüm değişkenleri ben özetle yazayım;
id, name, first_name, last_name, link, username, gender, location, email
id, tam isim, adı, soyadı, hesab adresi, kullanıcı adı, cinsiyet, yer ve eposta.
Daha fazlası için https://developers.facebook.com/docs/reference/api/user/ adresinden bakabilirsiniz (ingilizce)
.
Tüm bunların hiç biyerinde ASP yok farkındayım :) Siz tüm bunları inceleye durun ben ikinci postta aspye çevirmeyi anlatıcam. -
@by_Tet heycanla bekliyoruz hocam :D
