1

Sitem, kullanıcılarına bildirim gönderen bir Facebook uygulaması kullanıyor.Kullanıcının Facebook uygulaması yüklü olduğunu kontrol et

Sayfalarımdan birinde kullanıcı abone olabilir veya abonelikten çıkabilir (abone olup olmadığına bağlı olarak).

Bu nedenle, kullanıcının uygulamanızı kullanıp kullanmadığını kontrol etmek istiyorum. Bunu nasıl yapabilirim?

FacebookClient c = new FacebookClient(accessTokenClaim.Value); 
c.AppId = MYAPPID; 
c.AppSecret = MYAPPSECRET; 
dynamic access = c.Get("/me/permissions"); 
if(access != null) 
{ 
//has access 
} 

Bu konuda sevmiyorum bir şey, ancak, görmek için bir erişim belirteci kullanmak zorunda olduğu bir gerçektir: Ben app verilerine erişebilir olmadığını görmek için aşağıdaki yapabileceğini tahmin kullanıcı uygulamayı yüklediyse.

Zaman aşımına uğradığı için erişim belirteçlerini kullanmayı tercih etmem.

Veritabanımda, tüm web sitesi kullanıcılarına ait Facebook kullanıcı listesini saklıyorum. Ben böyle bir şey yapabileceğini eğer nedenle ideal olur şu:

/almak & kimliği = USERID bu konuda gitmek için

ne olacağını en iyi yolu appinstalled?

cevap

1

Geçerli kullanıcı kimliğini - DB'nizle karşılaştırmak için - bir erişim belirteci kullanarak FB grafik API'sine erişmeniz gerekir. Bu yüzden FB erişim belirteçlerini kullanmadan kullanıcı hakkında herhangi bir bilgi bulmanın bir yolu olmadığını düşünüyorum. Düzenleme: Ve jetonun sona ermesi hakkında endişelenmeyin, FB SDK sizin için halleder. yani, SDK tarafından otomatik olarak yenilenir. Here:

Facebook'un resmi SDK'leri sizin için jetonun ömrünü yönetir. IOS, Android veya JavaScript SDK'yı kullanarak 'u kullandığınızda, SDK, jetonların sona ermeden önce yenilendiğinden emin olmak için 'u işleyecektir. Web'de

Ve

Erişim belirteçleri genellikle yaklaşık iki saatlik bir ömür var, ancak gerektiğinde otomatik olarak yenilenir. Daha uzun ömürlü web uygulamaları, özellikle sunucu tarafı için erişim belirteçleri kullanmak istiyorsanız, uzun ömürlü bir jeton oluşturmanız gerekir. Uzun ömürlü bir jeton genellikle yaklaşık 60 gün sürer.

+1

Görüyorum. Bu yüzden, bir kullanıcı benim app'a kaydolduğunda bir Facebook erişim belirteci saklarsam - tekrar istediğim sürece (haftalarca) tekrar tekrar yenilemeyi düşünmeden kullanabilirim. uygulaması)? –

+0

@JackAlexander, evet. Bu doğru. Erişim belirtecini yenilemekle ilgili endişeleriniz yok. –

+1

Duymak harika! Yardım ettiğin için teşekkür ederim :) –