Facebook Grafik API'leri PHP kütüphanesi kullanma

4 Cevap php

Ben Graph API (http://github.com/facebook/php-sdk) için PHP kütüphanesini kullanarak ama tüm çalışan (ya da değil) nasıl hakkında biraz karıştı duyuyorum.

Ben sadece kullanıcının kimliğini ve geri kullanıcı kimliğini almak istiyorum. Ne gerçekten bilmek istiyorum kullanıcı Facebook'ta oturum açmış ve benim siteye döndü sonra ne olduğunu. URL 'session' olarak adlandırılan veri yoktur. Sırayla saklanır bu ihtiyacı sürekli kullanıcı kimliğini almak için mi? Bu numune veya (eksikliği) belgelerden, benim için, gerçekten belirgin değildir.

Ayrıca, sadece tamamen PHP kütüphanesi kesmek için daha kolay olacağını ve sadece bir oturum değişkeninde saklar, cevaplanması, kendimi idare. Ben bunu yapmak için olsaydı, ne şimdiki kullanıcıların kimliğini açılan / almanın en iyi yöntem nedir?

Edit:

Şu anda, ben facebook.php dosyasını kopyaladığınız ve example.php GitHub üzerinde dosya ve sadece uygulama adı ve example.php içinde gizli değişti. Bu bir çerez saklamak değildir ve 'Bağlı değilsiniz' diyor. Ancak, print_r($session); çalışır (ancak url oturum verilerini içeriyorsa).

Başkasının bu gibi sorunları yaşadı? Localhost üzerinde çalışan bu neden olması mümkün mü?

Edit:

Ben bir ana bilgisayara tam olarak aynı iki dosya yükledi ve o amele mükemmel. Bu tanımlama bilgisi saklanır ve gerektiği tüm bilgileri gösterdi. Localhost üzerinde çalışan sorunlara neden olduğunu muhtemeldir. Ben hala şans Facebook Geliştirici uygulamaya Bağlan sekmesi altındaki ayarları değişti ama var.

Herkes ben yanlış yapıyorum ne localhost bu nasıl biliyor ya?

4 Cevap

There is data called 'session' in the URL. Does this need to be stored in order to continually get the user ID?

Evet, saklanması gereken, ancak Facebook sınıf ayrıştırır ve sizin için bir tanımlama depolar.


Also, would it be easier to just cut out the PHP library altogether and just handle the reponse myself, storing it in a session variable.

Sağlanan Facebook class facebook.php API kullanmak için gerekli değildir ancak bu URL'ye gönderilir (ki, birlikte ortak URL'leri koyarak oturum verilerini ayrıştırma olarak sizin için birkaç kolaylıklar sağlar ve daha sonra) bir çerez saklanan, bir PHP İstisna içine hata mesajları (bir "hata" tuşu ile JSON nesnesi) tornalama, vb

Temelde aynı şeyler yazma bitirmek istiyorum çünkü Yani, kısacası, hayır, bu PHP kütüphanesi kesmek için kolay olmaz.

Eğer örnekte de görebileceğiniz gibi, onlar ($uid) arayarak kullanıcı kimliği alma getUser edilir:

if ($session) {
  try {
    $uid = $facebook->getUser();
    $me = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
  }
}

$ Uid sadece bir tamsayı, ve $me (ihtiyacınız yok gibi geliyor) geçerli kullanıcı için veridir. Aynı veri arayarak alınamadı:

$me = $facebook->api('/' . $uid); //Generates https://graph.facebook.com/[uid]

Ben örnek ile şu anda var Sorun Facebook sınıf içinde kıvrılma fonksiyonu (makeRequest yöntemi) NO içeriği dönen nedense olmasıdır. Yani, $me örnek hala söylemek "You are not connected". Ama, çıkış olsaydı $uid, bunu gerçekten yapar görürdünüz kılan şey ile sona eriyor Geçerli kullanıcının kimliğini içerir.

özel fonksiyon setCookieFromSession ($ session = null)

$ etki parametre emtpy çünkü başarısız olduğunu. Ben yerel test için kullanıyorum:

if ($domain != '') {
    setcookie($cookieName, $value, $expires, '/', '.' . $domain);
} else {
    setcookie($cookieName, $value, $expires, '/');
}

Bazen Facebook'tan yanıt başlıklarını denetliyor yardımcı bir şey (nadiren) onlar bilgilendirici olabilir.

Ben Facebook size bir erişim belirteci verecek şekilde, web sitesi / uygulama yetkisi (sorgu parametreleri ile) / oauth / yetkilendir için bir çağrı yapmak gerektiğini bulduk.

Sana http://3aroundweb.in/facebook-connect-using-graph-api/ Bu indirmek için pratik bir rehber ve çalışma kodu içeren bu kullanabilirsiniz düşünüyorum :)