Karakter Analiz Testi (Kırmızı, ...(109.339)JQuery ile Sayfayı Yenilemeden S...(30.621)Facebook Uygulama Oluşturma(30.148)JQuery ve Php ile Form İşlemleri(15.386)JQuery ile Slider Yapımı(13.753)Facebook Uygulaması Geliştirme –...(11.757)Php Güvenlik Açıklarını Kapatmak(10.306)Facebook Duvarda Paylaş ve Davet...(9.948)JQuery ile Haber Bandı(9.839)Facebook Sayfası Iframe Uygulama...(9.816)JQuery Nivo Slider(9.568)JQuery ile İl İlçe Semt(8.945)Php ile İletişim Formu(8.859)Facebook Tarzı Resim Galerisi(8.785)Php ile Facebook Iframe Uygulama...(8.591)
Merhaba arkadaşlar önceki makalemizde facebook mimarisinden, uygulama oluşturmak için nelere ihtiyacımız olduğundan ve uygulamamızı nasıl açacağımızdan bahsetmiştik. Bu makalede ise kodlamaya geçiyoruz. Kısaca bu makalede nelere değineceğimi açıklayayım. Kullanıcılardan uygulama izni alma işleminden, internet explorerda karşılaştılan session işlemi başlatma probleminin çözümünden bahsedeceğim. Uygulamamızın sonunda ise kullanıcı bilgilerini (idsini, ismini, mail adresini ve profil fotoğrafını) ekrana yazdıracağım. Bu işlemlerin hepsini kod üzerindeki yorum satırları (comment) ile ayrıntılı olarak açıklayacağım. Uygulamamıza başlamadan önce önceki makalemde de bahsettiğim Facebook Php SDK’sını buradan indiriyoruz. Zip dosyasının içerisinden çıkardıktan sonra uygulamamızın bulunacağı yere klasörün adını facebook-php-sdk (isimde başka değişiklik yapmayın ya da benim yazdığım SDK include adresini de değiştirin) yaparak yapıştırın. Şimdi kodlarımızı yazabiliriz.
//facebook php-sdk'yı include ettik
//kullanacağımız uygulama değişkenlerini atıyoruz
$fbconfig['baseurl']="facebook adresiniz (apps.facebook olan)";
//açık olan kullanıcıyı arıyoruz
//kullanıcının giriş yapması ve izin vermesini istiyoruz
//kullanıcıdan istediğimiz izinler (scope ile)
'scope'         =&gt; 'email,publish_stream',
//giriş yapan kullanıcıya logout bağlantısı oluşturuyoruz
// internet explorer da sorun yaratan session işlemi için
header('P3P: CP="CAO PSA OUR"'); ob_start(); session_start();
//tüm işlemlerimizi tanımladığımız $user değerine göre yapıyoruz
//kullanıcının temel bilgileri alınıyor
//kullanıcıdan giriş izinleri istiyoruz
//kullanıcı tanımlı değilse izin alma sayfasına gönderiyoruz
$u_id = $userInfo['id'];
$u_name = $userInfo['name'];
$u_mail = $userInfo['email'];
$u_picture = "http://graph.facebook.com/".$user."/picture";
//kullanıcı id, isim, mail ve fotoğrafını yazdırıyoruz
echo "$u_id - $u_name - $u_mail - ";
echo "&lt;img src=\"" . $u_picture . "\" /&gt;";
Bu uygulama ile facebook uygulama alanımıza (canvas page) kullanıcı bilgilerini yazmış olduk. Yazımın sonuna doğru yaklaşırken kullanıcı bilgileri isteme ile ilgili önemli gördüğüm bir noktaya değinmek istiyorum örnek ile açıklayarak. Örnek olarak hava durumu uygulaması yapmak istiyorsunuz. Bu uygulamada isterseniz facebookdan kullanıcının bulunduğu şehri alıp açılışta direk bulunduğu şehrin hava durumunu gösterebilirsiniz. İsterseniz de almayıp kendisine hangi şehrin hava durumunu öğrenmek istediğini sorabilirsiniz. Eğer kullanıcıdan bulunduğu şehri almadan uygulama yapacaksanız; uygulama izni almanıza gerek kalmaz. Bunu neden belirtiyorum diye soracak olursanız; kullanıcılar ilk defa karşılaştıkları veya Zygna gibi firmalar tarafından yapılmayan uygulamalara güvenmeyip izin vermiyorlar. Buda yaptığınız uygulamanın kullanılmasını engelliyor. Ama tekrar belirteyim uygulama izni almazsanız da kullanıcı ile alakalı hiçbir bilgiye ulaşamazsınız. Yapacağınız uygulamaya göre buna karar verebilirsiniz. Uygulamanın bütün betiklerini içeren kaynak kodlarını buradan indirebilirsiniz. Bu makalede uygulama geliştirmeye başlamış olduk. İlerleyen makalelerde Php ile büyük uygulamalar geliştireceğiz. Sonraki makalelerde görüşmek dileğiyle.
Etiketler: Facebook, Facebook App, Facebook Iframe App, Facebook Uygulama Geliştirme, Facebook Uygulama Yapma, Facebook Uygulama Yapmak, Facebook Uygulaması Yapmak Bu yazıya 41 yorum yapılmış.
Bu yorum 06 Ağustos 2011 tarihinde 00:31 sularında yazılmıştır.
uygulama izni istemekte haklısın bencede iyice düşünülmeli
Cevapla Emre Erdemir diyor ki:
Bu yorum 20 Ağustos 2011 tarihinde 22:08 sularında yazılmıştır.
Sonunda biri bu alandaki eksiği görüp kitap çıkarmış. bugün bu kitabı inceledim baya detaylı anlatılmış.
Bu yorum 21 Ağustos 2011 tarihinde 13:13 sularında yazılmıştır.
Kitap İbrahim Hızlıoğlu tarafından yazılmış büyük ihtimalle kaliteli bir içeriğe sahiptir. Ama kodlama yaparken basılı kitabın kullanımı biraz zor oluyor. Kitapta yer alan örneklerin cd si verilse, bence insanları daha çok satın almaya teşvik eder.
Cevapla Mustafa diyor ki:
Bu yorum 07 Eylül 2011 tarihinde 22:41 sularında yazılmıştır.
öncelikle teşekkür ederim emeğiniz için. Fakat neden ben yapamıyorum anlamıyorum sorunu bi türlü çözemedim idare edecek derecede de php dilinden de anlıyorum. Ama bu başlangıç bölümü olmuyor.
Sorun; Yukarda verdiğiniz kodu aynen index.php olarak kaydediyorum app id ve secreti kendikilerimle değiştiriyorum SDK yıda indirip include ediyorum adres yolu filan tam kontrol ettim kaç kere ve dosyalarıda hosta atıyorum gel gör ki uygulama sayfama apps. olana gidiyorum ve bomboş sayfayla karşılaşıyorum hata filan vermiyor sadece uygulama sayfası boş duruyor. Uygulamamın canvas adres ayarları filan doğru yani aynı index.php sayfasının içine başka bi üç kelimelik cumle yazdığımda uygulama sayfasında çıkıyor ama sizin bu kodları yazdığımda çıkmıyor. Bu sorunu sadece ben mi alıyorun genel bi sorunmu :((( Yardım ederseniz sevinirim.
Bu yorum 07 Eylül 2011 tarihinde 23:53 sularında yazılmıştır.
yukarıdaki işlemleri adım adım yaparsanız uygulamanızın çalışmamasına imkan yok. mutlaka bir şeyi gözden kaçırıyorsunuzdur. Uygulama birden fazla açmışsanız api id değerleri karışmış falan da olabilir. Ben size bu uygulamanın çalışır halinin linkini vereyim index.php sayfasını açıp api id, api secret ve facebook url değerinizi girin. Ama dediğim gibi bu değerlerin doğruluğunu kontrol edin, çünkü kodu ben de kullanıyorum ve garanti veririm %100 çalışıyor. Çalışır halini yazıya ekledim oradan indirebilirsiniz. Ayrıca izin problemi de olabilir. Uygulamanızı tamamen kaldırıp tekrar girmeyi deneyin.
Bu yorum 08 Eylül 2011 tarihinde 13:05 sularında yazılmıştır.
denedim hepsini adım adım uyguladım yeni uygulama açtım sildim başka doğrulanmış facebook hesabından da açtım da ama sonuc aynı herşeyi hata nereden kaynaklanıyor çözdüm sanırım.
normal html veya php kodları gözüküyor yani mysql php kullandım index.php de çalısıyor. Fakat dediğim gibi app entegre ettiiğimde çalısmıyor yani kullanıcı bilgileri ve izinleri çıkmıyor sadece entegrenin dısındaki kodlar çalısıyor.
grap abi explorer uygulamasında elle yeni izinler vermeye çalıstığımda bi hata alıyorum
resimdeki hata ya bakarsanız eğer
ayrıca bedava host kullanıyorum ondan yani kendime ait bi domain hostum yok ama bu bişey farkeder miki sonuçta yine bi host ve domain yani çalısıyor. Ama resimdeki hata daki redirect uri: url….. dediği için bedava host oldugu için de olabilir diye düşünüyorum.
bi süre sonra kendime ait bi host domain almayı düşünüyorum o zaman da da aynı hatayı verecek mi bakalım.
Bu yorum 08 Eylül 2011 tarihinde 13:23 sularında yazılmıştır.
Hosttan kaynaklanıyor olabilir sorun. Eğer hostun CURL kütüphanesine izin vermiyorsa Facebook API ile iletişim kuramayabilirsin. İstersen Hostgator bedava kupon kullanarak (kupon ismine TURKIYE girmelisin) 0,1$ a 1 aylık deneme kullanımı alabilirsin. Resimdeki hatayı izin işlemlerini yapmadığından dolayı alıyorsun.
Bu yorum 08 Eylül 2011 tarihinde 14:16 sularında yazılmıştır.
hostgatoru daha öncede araştırdım karışık hoşuma gitmiyor ya yabancı firmalar üstelik pahalı ve yabancı para sıkıntısı oluyor ödemelerde filan o yüzden sadecehosting.com dan almayı düşünüyorum.
Cevapla aykut diyor ki:
Bu yorum 16 Kasım 2011 tarihinde 20:54 sularında yazılmıştır.
bu izin kodunu uygulamaya giydirdigimizde aşırı bir yavaşlama ve bekleme oluyor. nedenini biliyor musunuz?
Bu yorum 16 Kasım 2011 tarihinde 21:22 sularında yazılmıştır.
Uygulama izni facebook bilgilerini almak için gerekli, mâlesef bu kodu değiştirerek hızlandırma gibi bir şansımız yok. Kullanmadan uygulama yaparız ama facebook ile etkileşim kuramayız. Ama server hızı artarsa bu kodun işlenme süresi kısalır.
Bu yorum 16 Kasım 2011 tarihinde 21:42 sularında yazılmıştır.
bilgi için teşekkürler. fakat 20 saniyelik bekleme dogal mı sizce?
Bu yorum 16 Kasım 2011 tarihinde 21:59 sularında yazılmıştır.
Bende o kadar bir süre beklemiyor 5 sn falan civarı. Kodda değişiklik yapmadıysan hızı çok yavaş.
Bu yorum 28 Aralık 2011 tarihinde 09:46 sularında yazılmıştır.
uygulama çalışıyor gerekli izinleri alıyorum fakat sadece isim ve id bilgilerini alabiliyorum email ve fotograf alanları boş geliyor. Çok defa denedim ama hep böyle sorun benden mi kaynaklanıyor yoksa api de değişen bir şeyler mi var ? Teşekkürler
Bu yorum 30 Aralık 2011 tarihinde 12:41 sularında yazılmıştır.
Facebook Api için değişen bir şey yok. Uygulamayı sizin yorumunuzu görünce indirip tekrar denedim, herhangi bir sorun yok. Resmi ve mail adresini gösteriyor. Siz Facebook uygulamanızı kaldırıp, bu betiği hiç değiştirmeyin ve tekrar izin vererek bir daha deneyin.
Cevapla aykt diyor ki:
Bu yorum 08 Ocak 2012 tarihinde 21:55 sularında yazılmıştır.
Sunucu ile güvenli bağlantı kurulamıyor. Bu durum sunucuyla ilgili bir sorundan kaynaklanabilir veya sahip olmadığınız bir istemci kimlik doğrulaması sertifikası gerekiyor olabilir.
Hata 107 (net::ERR_SSL_PROTOCOL_ERROR): SSL protokolü hatası.
bu hatayı alıyorum nasıl düzelteiblirim. teşekkürler
Bu yorum 08 Ocak 2012 tarihinde 22:06 sularında yazılmıştır.
Sorunu çözdüm. Aynı hatayı alanlar https://domain.com/uygulama yani https: li başlayan link yerine boş bırakın ve uygulama değikenlerini kontrol edin.
Cevapla ibrahim diyor ki:
Bu yorum 09 Ocak 2012 tarihinde 09:45 sularında yazılmıştır.
Paylaştığınız bilgiler için teşekkur ederim..
hatası vermekte.Nasıl düzeltebilirim??
Bu yorum 09 Ocak 2012 tarihinde 12:45 sularında yazılmıştır.
https://apps.facebook.com/uygulamaismi şeklinde değil
apps.facebook.com/uygulamaismi yazıp çalıştır. Güvenli tuval bağlantın yoktur senin.
Bu yorum 10 Ocak 2012 tarihinde 08:06 sularında yazılmıştır.
tamam oldu teşekkur ederim
Cevapla Mustafa Kural diyor ki:
Bu yorum 16 Ocak 2012 tarihinde 23:53 sularında yazılmıştır.
Kodları sizden örnek alarak bir sayfa oluşturdum. O sayfadan kullanıcının id sini alıp kendi veritabanıma kaydediyordum. Fakat yakın zamndan beridir çalışan kod çalışmamaya başladı. Problem şu; giriş yaptıktan sonra izinleri istiyor ve devam ettiğinizde explorer devamlı işlem yapıyor ve adres çubuğunda da şu ifade yer alıyor.
Bu yorum 17 Ocak 2012 tarihinde 00:09 sularında yazılmıştır.
Uygulamanızda aldığınız hatanın neden kaynaklandığını anlayamadım. Yazıdaki kodları değiştirmeden tekrar uygulama yapmayı deneyin. Ayrıca, uygulamanızda yaptığınız değişikliklerden önce ve sonra adım adım çalışan yedek almayı ihmal etmeyin. Burada yer alan kodlar çalışıyor, tekrar kontrol edilmiştir.
Bu yorum 17 Ocak 2012 tarihinde 16:24 sularında yazılmıştır.
//’display’ => ‘popup’,
‘scope’ => ’email,offline_access’,
// internet explorer da sorun yaratan session işlemi için
header(‘P3P: CP=”CAO PSA OUR”‘); ob_start(); session_start();
echo(” top.location.href='” . $loginUrl . “‘”);
$userInfo = $facebook->api(“/me”);
Kodlarım yukarıdaki gibidir. Daha önce bu kodlar serverimde çalışıyordu. Servera tekrar sistem yüklendi ve ondan sonra problem başladı. Windows Server 2003 ve Php5 yüklü. Kullanıcı giriş ekranı geliyor çünkü $user ilk aşamada null. Kullanıcı adı ve parola girildikten sonra onayladığınızda sayfa sanki sonsuz bir döngüye giriyor. Çünkü $user yine null. Adres çubuğunda ise parametre olarak facebook serverdan gelen bir kod var. O kod her döngüde tekrar yenileniyor. Sayfa devamlı bir işlem içerisinde. Problemi anlayamadım. Sayfa web adresi kodlar içerisinde var. Yanıtınız için teşekkür ederim.
Bu yorum 17 Ocak 2012 tarihinde 16:33 sularında yazılmıştır.
Kusura bakmayın kodun yukarısı çıkmamış appid secret id falan var.
Adres ise: http://okey101.net/gameengine/facegiris.php
Bu yorum 18 Ocak 2012 tarihinde 10:43 sularında yazılmıştır.
Uygulamanıza giriş yapabildim. Eğer sunucuyu değiştirdiklerinden sorun kaynaklanıyorsa, hosting firmanıza bir danışın.
Bu yorum 18 Ocak 2012 tarihinde 21:32 sularında yazılmıştır.
Şu anda uygulamam hostumuzun ana sayfasına yönlendiriliyor. Eski kodumda loginUrl sini oluştururken redirect_uri diye bir şey kullanmıyordum. Orada next ve cancel url leri vardı. Base url ne ise oraya onu yazıyordum. Giriş yaptıktan sonra oraya yönlendirme gerçekleşiyordu ve ben user id sini alabiliyordum. Fakat şimdi ana sayfam ne ise oraya yönleniyor ve parametrelerde state ve code diye iki değişken var, giriş işleminden sonra yönlendirmede problem var.
Dün şöyle bir şey denedim Facebook uygulama ayarlarında canvas url değeri var. Bende orası boş idi, çünkü facebooktan uygulamam kullanılmayacak. Dün oraya base urlmi girdim (……/facegiris.php?) Bu durumda uygulama doğru bir şekilde facebook içerisinde iframe yönlendirme yaptı ve kullanıcı id sini aldım. Fakat önceden direk base url açılıyor idi.
Bu yorum 20 Ocak 2012 tarihinde 12:12 sularında yazılmıştır.
facebook sayfama giriryorum ana sayfamda ve diger sayfam bombos hic birsey aktiv deil ne yapmam gerek
Bu yorum 20 Ocak 2012 tarihinde 14:29 sularında yazılmıştır.
Facebook hayran sayfası uygulaması yapmıyorsun dimi? Eğer yukarıda yazanları ve uygulama açmayı doğru şekilde yaptım, uygulamayı görüntüleyemedim diyorsanız, aşağıdaki şekilde uygulamanıza gidebilirsiniz.
Cevapla betül diyor ki:
Bu yorum 20 Ocak 2012 tarihinde 17:18 sularında yazılmıştır.
ben sadece kendi laptopbumdan face giremiyorum sifreyi girdikten sonra bombos ana sayfam aciliyo hic birsey aktiv deil mesajlari bile okuyamiyorum,arkadaslara bakamiyorum
Cevapla bilal diyor ki:
Bu yorum 26 Ocak 2012 tarihinde 17:00 sularında yazılmıştır.
öncelikle teşekkürler paylaşımlarınız yol gösteriyor. Ancak takıldığım bir nokta var. Burada geçen örnek kodlarla uygulamamı çalıştırdım gayet de hoş oldu fakat izin istersen e-posta adresi kişisel bazı bilgiler kullanılacaktır yazıyor daha sonra gelen sayfada bu uygulama sizin adınıza video paylaşabilir,fotoğraf yayınlabiir vs gibi bir uyarı çıkıyor. Bunu kaldırmak istiyorum. Çünkü insanlar bu izni görünce antipatik oalcaktır uygulama ve kimse kabul etmek istemecektir. Bu izni hangi yazılan koddan dolayı istiyor? Bunu nasıl kaldırabiliriz?
Bu yorum 29 Ocak 2012 tarihinde 19:16 sularında yazılmıştır.
Uygulamana insanları sokmak için temel izinleri verdirmek gerekiyor. Bunu yapmaya mecbursun ama istersen ekstra izinleri boş bırakırsın. Ama bu da yapacağın uygulamada sana sınır koyar. Yani duvarında otomatik bilgi paylaşmak istiyorsan publish_stream almak zorundasın. scope kısmının karşısındaki tırnaklarının içini boş bırakırsan da sadece temel bilgiler için izin alırsın.
Bu yorum 05 Şubat 2012 tarihinde 17:10 sularında yazılmıştır.
bu izin isteme kodun da 5 6 kez refresh yaptıkdan sonra çek geç gelmeye başlıyor değerler. en sondada hiç gelmiyor.
Bu yorum 08 Şubat 2012 tarihinde 18:12 sularında yazılmıştır.
Ben de herhangi bir sorun yok. Hızı da orta dereceli diyebilirim. Server hızını artırarak, işlem hızını falan artırabilirsin.
Cevapla eses26 diyor ki:
Bu yorum 18 Şubat 2012 tarihinde 16:45 sularında yazılmıştır.
Bir hata oluştu. Lütfen daha sonra tekrar dene.
yazıyor sadece index.php deki yerleri değiştirmek yetiyormu yoksa facebookphp-sdk nin içindedeki dosyalardada var api anahtarı istiyen yerler oralarıda değiştirecekmiyiz
$fbconfig[‘baseurl’]=”http://apps.facebook.com/deneme”; bu şekilde yapıyorum hata veriyor
Bu yorum 27 Şubat 2012 tarihinde 01:45 sularında yazılmıştır.
index sayfasında bir şey değiştirme sadece izinler sayfasında api değerlerini girmen yeterli ama bu değerler facebook uygulamanın değerleri olmalı. Atmasyon bir değer girersen hata alırsın.
Cevapla ilyas diyor ki:
Bu yorum 23 Ağustos 2012 tarihinde 18:44 sularında yazılmıştır.
Merhaba facebook kişi albümlerini çekebilirmiyiz böyle bir uygulama varmıdır yada sdk kullanarak bunu gerçekleştire biliyormuyuz ?
Bu yorum 15 Ekim 2012 tarihinde 18:16 sularında yazılmıştır.
Kişi izin verirse, istediğin uygulamayı yapabilirsin. Yani, kullanıcı izin verirse kişi albümlerine erişip istediğin gibi bir albüm uygulaması yapabilirsin.
Cevapla Işık Akçağlar diyor ki:
Bu yorum 01 Ekim 2012 tarihinde 08:07 sularında yazılmıştır.
Öncelikle teşekkürler bütün adımları tamamladım.
index.php bütün izinleri aldı ama sonrasında sanki bir döngüde gibi sürekli sayfa yeniliyor.
uygulamamı apps.facebook.com/ansesnet olarak kurdum.
Cevapla dogu diyor ki:
Bu yorum 05 Ekim 2012 tarihinde 16:02 sularında yazılmıştır.
Öncelikle sitenizi çok beğendim.Ben Facebook adresine belgesel yüklemek istiyorum.Dizimag tarzı bi sistem ile sitemde yayınlacağım ama nasıl olduğu çözemedim.Aşağıda verdiğim cümle temanın player panelinde ne olduğunu açıklayabilirmisiniz zahmet olmazsa 🙂
Facebook PHP Adresi – Facebook videolarını çalıştırmak için kullandığınız PHP adresinizi giriniz.
Cevapla h.derel diyor ki:
Bu yorum 12 Mart 2013 tarihinde 23:14 sularında yazılmıştır.
Öncelikle ellerine sağlık hocam cok guzel anlatım ve coktan beri arıyordum. Bende bu hatayı verdi:
Fatal error: Cannot redeclare class FacebookApiException in /home/fullfoll/public_html/face/facebook-php-sdk/src/base_facebook.php on line 107
Cevapla ilker dönmez diyor ki:
Bu yorum 31 Ekim 2014 tarihinde 08:32 sularında yazılmıştır.
window.open(‘http://www.facebook.com/sharer.php?u=’ + encodeURIComponent(u) + ‘&t=’ + encodeURIComponent(t), ‘sharer’, ‘toolbar=0,status=0,width=626,height=436’);
Bu yorum 12 Kasım 2014 tarihinde 07:38 sularında yazılmıştır.
meta property=”og:type” content=”blog” />
meta property=”og:site_name” content=”Bcakir” />
meta property=”og:title” content=”Php ile Facebook Iframe Uygulaması” />
meta property=”og:image” content=”http://bcakir.com/wp-content/bc180.jpg” />
Bağlantı verdiğin sayfada facebook tarafından algılanacak bu taglar olmalı. Resim için image kısmını kendi sitene göre düzenlemen yeterli. JavaScrit kullanmana gerek yok.
Daha fazla FacebookFacebook Uygulaması Geliştirme – HazırlıkKapat