2012-10-16 38 views
24

Facebook erişim simgesi kullanmak, kullanıcı facebook profil sayfasının mobil sürümlerine bir WebView açar (http://m.facebook.com/some_page). Benim sorunum, WebView açıldığında, kullanıcının Facebook için kullanıcı adı ve şifre girmesi gerektiğidir. Zaten FB SDK üzerinden bir Facebook erişim jetonu var ve kullanıcı Facebook uygulamasını yüklediğinden, WebView'u açarken Facebook'a giriş yapmanın bu can sıkıcı aşamasını atlamanın bir yolu olduğunu düşünüyorum. Başka bir deyişlenasıl başvuruda android app Web görünümü

, nasıl ben zaten benim uygulamada en WebView sahip erişim belirteci kullanılır?

+2

kullanmak için: http://stackoverflow.com/questions/10101030/facebook-authentication-in-webview?rq=1 –

+0

thx ZuzooVn, ancak bağlantı değil ne istediğime cevap ver. Eğer (uygulama Web tarayıcısında zaten var olan erişim belirtecini kullanın) çalışabilir ya da değil – joy

+0

fb geliştirici de tutmayı denediniz eğer https://developers.facebook.com/docs/mobile/android/build/ –

cevap

1

Anlayışımdan, yapamazsınız. Uygulamanız için elde ettiğiniz erişim kodu yalnızca Uygulamanızın API kimlik bilgileriyle birlikte kullanılabilir. Yani erişim belirteci yalnızca uygulamanızın anahtarını ve sırrını da içeren aramalarda çalışır. Bunları bir Web Görünümü'ne (muhtemelen büyük olasılıkla FB's Data Policies kapsamına girmeyecek bir yol) bulabilseniz bile, WebView'i Android SDK'yı kullanmak zorunda bırakmış olmanız gerekir (çünkü FB arama kaynağını kontrol eder). Bu yüzden yapamayacağınızı öneririm.

Ayrıca WebView her WebView güvenlik nedenleriyle kendi bağlamı var olduğu gibi o, onun stok tarayıcıda olabilir kullanıcının çerezleri kullanırız olamaz.

Uygulamanızda sıklıkla WebView için bir WebView kullanıyorsanız, ilk Web Görünümü'nü kullanarak auth çerezi çekebilir ve ardından CookieSyncManager'u kullanarak sonraki örneklere ekleyebilirsiniz. Ya da ilk Web Görünümü'nün örnek durumunu kaydedebilir ve daha sonra yeniden kullanabilirsiniz. Bunlar sadece işe yarayabilecek ya da çalışamayan fikirler; Onları kontrol etmedim.

+2

Yardımlarınız için cok teşekkür ederim, cookiemanager is kullanin, dediginiz gibi, her seferinde web google url lansmanini saglamanin ayni zamanda elde edilen cookie'leri eklemem gerekir. örneğin wb = (WebView) this.findViewById (R.id.share_wb); Dize url = "http://m.facebook.com/sharer.php?u=www.douban.com"; CookieSyncManager.createInstance (this); CookieManager cookieManager = CookieManager.getInstance(); cookieManager.setCookie (url, Facebook.cookieString); CookieSyncManager.getInstance(). Sync(); wb.loadURL (URL); – joy

1

Sen AccessToken ayrı Özellikleri ve web görüntülemesini kullanmak görünmediğini kontrol accessToken ve kullanıcı Ti.Facebook sonra başka AccessToken kullanmak kullandığını geçmesini saklayabilirsiniz.

-2

dikkatle bu projeyi okuma ve deneyin ... Ben çalışır ..it Projemde bu örnek çalıştı .. Senden önce

krediniz bu örneği alarak Sen gelmiş facebook bir sayfa oluşturmak için ve bir uygulamaya olsun id, bunu görmek bu proje

https://github.com/ddewaele/AndroidFacebookSample

+1

Bu sadece genel bir Facebook entegrasyonu gibi görünüyor (ve bununla eski API'yi kullanıyor) - bu, WebViews'ı hiçbir yerde kullanmıyor. –

İlgili konular