Kamu içerik için istemci kimlik doğrulaması olmadan Facebook API

3 Cevap php

Zaten Facebook'ta yaptığı ürünlerin fotoğrafları var bir müşteri için bir site geliştiriyorum ve o aynı albümler onun site üzerinden çoğaltılan olmak istiyor. Zaten Facebook Connect kullanarak, bu yüzden dinamik galerileri yapmak için photos.getAlbums ve photos.get bir arada düştü.

Şimdiye kadar çok iyi, ama sonra hiçbir kullanıcı varsa, yalak FBC giriş hiçbir oturum oluşturulur ve API hatta kamuya içerik için, kullanılamaz hale gelir olduğunu fark etti. Ben tabii ki herkes değil, onların hesaplarını bağlamak, sadece insanlara albümleri göstermek istiyorum.

Bu Facebook API tüm işlevleri nasıl çalışır mı? Bu durumun geçici çözüm (uygulamak kolay) en iyi nedir?

3 Cevap

Eylül 2010 itibariyle, artık hiç ilişkili müşteri, sadece bir uygulama olarak kimlik doğrulaması yapabilir. Ayrıntılar için http://developers.facebook.com/docs/authentication/ bakın. Yoksa bir erişim belirteci almak için bu kod örneği çalıştırabilirsiniz:

curl -F grant_type=client_credentials \
 -F client_id=your_app_id \
 -F client_secret=your_app_secret \
 https://graph.facebook.com/oauth/access_token

Kayıt için, ben bir kez Facebook giriş ve FB app offline_access extended permission vermek üzere istemci gerektirir küçük bir arkaplana geliştirerek bu durumu çözmek için başardı, bu yüzden kaydedebilirsiniz onun oturum anahtarı ve Facebook API istemci Ben halka açık olmayan içerik almak için FQL kullanmanız gerekir her zaman doğrulamak için kullanabilirsiniz.

Biri tabii ki Facebook için gereksiz isteklerini önlemek için ortasında bazı önbelleğe ekleyebilirsiniz, ama ben biliyorum herhangi sınırlarını vurmadan şimdi ay için çalışıyor.

Bu bana mantıklı değil - Ben kullanıcı (bu demo verilerini görüntüleyen durumda) daha önce Facebook'a oturum olmamıştı bile facebook işler (nispeten basit) uygulaması var.

Facebook PHP kütüphanesi kullanırken, ben sadece bunu:

$ Facebook = new Facebook ($ api_key, $ sırrı);

Hiçbir session id gereklidir - ama, belli ki, kullanıcı hakkında bilgi bağlıdır API işlevleri işe gidiş değildir.

Ayrıca uygulaması için bir "infinite session" içine bakabilirsiniz - Kendiniz için sonsuz bir oturum anahtarını oluşturmak ve API erişmek için bu oturumu kullanabilirsiniz.