Ben sorunları Facebook web siteme bağlanmaya çalışıyor yaşıyorum. Ne yapmak için bunu istiyorum (ben yerine OpenID kullanıyorum ben insanların Facebook ile giriş muktedir gerekmez) kullanıcıların Facebook onları bağlayarak kendi hesaplarını artırmak için sağlamasıdır. Benim web sitesi CodeIgniter çerçevesinde çalışır.
Ne yapacağım ben denedim her şeyi kaldırmak ve çalışma durana kadar benim adımlarda size yürüyüş.
Step 1: Set up the JavaScript SDK and XFBML
Önce benim <html>
etiketi FBML spec için bir başvuru eklemek:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="en" lang="en">
Sonra, benim <body>
etiketinden sonra eklerim:
<script src="http://static.new.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" type="text/javascript"></script>
Şimdi burada ben ilk sorun geliyor but have now solved. Sorun JavaScript SDK için docs o FB.init()
yöntemi requires the appId, bir parametre olarak söylüyorlar, ama bu yanlış olduğu ortaya çıktı. Bunun yerine benim apiKey geçmesi gerekiyordu. Yani bu ben ile sona kodu, benim </body>
etiketinden önce gider:
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
apiKey : '<?php echo $this->config->item('facebook_api_key'); ?>',
status : true,
cookie : true,
xfbml : true
});
</script>
Şimdi böyle beklendiği gibi çalıştığı <fb:login-button></fb:login-button>
olarak benim sayfalarına XFBML varlıkları ekleyebilirsiniz. Onu tıklayın ve benim web sitem Facebook profilini erişmek için izin isteyip istemediğinizi soran bir kutu açılır. Ben evet demek, ve ben Facebook benim Uygulama Ayarları kontrol ederseniz o, benim web sitesi eklenmiş olduğunu görebilirsiniz.
Yani bu adımı çalışıyor.
Step 2: Set up the PHP library
Tamam, şimdi ben PHP kitaplığı eklemek gerekir. Yani 'CodeIgniter facebook kütüphane' için hızlı bir google arama ortaya Elliot Haughin's library. Ben doğru yerlerde hepsini koymak, dosyaları indirmek daha sonra kütüphane yükleme işe almak.
Şimdi mevcut sorun oluşur. Her sayfada olur ki benim denetleyicisi kurucusunu (kütüphane ile verilen örnek alınan) aşağıdaki kodu ekleyin:
$this->load->library('facebook_connect');
$this->data['fb_user'] = $this->facebook_connect->user;
$this->data['fb_userid'] = $this->facebook_connect->user_id;
Ama ben print_r($this->data['fb_user']);
Hiçbir şey olsun eğer. Hiç. Ben facebook oturum kulüpler olsun, üzerinden giriş kaydedilir ve vs vs vs benim profil, kullanıcı ve User_id ayarlamak asla siteme eklendi. Ama herhangi bir hata alamadım.
Bildiğim kadarıyla ben farkında değilim gibi, değerler benim siteyi gezen kişinin facebook hesabına giriş olup olmadığını bilmek o kadar ayarlamak gerekiyordu. Onlar onlar benim uygulamayı izin verdiyseniz, ben görebiliyorum. Onlar izin verdiyseniz, ben değil, ben onlara bağlanmasını sağlar, onları benim siteden bağlantısını sağlayabilirsiniz. Bu değişkenler doldurulmaz ama eğer ben bir şey yapamam.
Ben kütüphane kaynağının iç çevresinde alay denedim, ama ben gerçekten başımı alamıyorum. Ve ben bunun için gerçek çözüm dışında kütüphane hack dahil olmayacağını umuyorum. Ben CodeIgniter belirli kütüphane çalışması beklersiniz.
Herhangi bir fikir?
Çok teşekkürler. :)