2011-03-17 29 views
9

UIWebView'daki benzer düğme ile birlikte akışta FB Tek Oturum Açma işaretini kullanmanın bir yolu var mı?Facebook ile iOS uygulamasındaki düğme gibi Tek Oturum Açma

Bir web sayfasını görüntülemek için bir UIWebView kullanan bir uygulama var ve bu sayfada FB benzeri bir düğme var. mesaja

Like button in iOS application

önerildiği gibi ben gibi düğme bunu başardığımız Ama oturum açma iletişim doesnt güzel olduğunu bakmak ve onun yerine TOA akışını kullanmak eğer sadece harika olurdu. Ama henüz işe gitmedim. Bunu deneyen herhangi bir vücut var mı?

+0

Bu sorunu nasıl çözeceğinizi anladınız mı? – Piotr

cevap

2

Aslında Facebook kaynağını, tek oturum açma yerine auth için safari kullanmak için alway olarak değiştirdim. Bu, UIWebViews içindeki benzer düğmelerimi (veya Kutuları Gibi) oluşturmama izin veriyor.

+2

Güzel. FB SDK'yi nerede/nasıl değiştirdiğinizi söyler misiniz? – genkilabs

+0

Kaynağı github'da buraya çatallayabilirsiniz: https://github.com/Thuzi/iOS-Facebook-Authentication. –

0

Eylemi, benzer düğmelerinizden engelleyebilirsiniz.

Sadece Web görünümü kontrol UIWebView içinde http://mydomain.com/doLikeStuff

bir bağlantı ile sizin gibi düğmeye ayarlayın: shouldStartLoadWithRequest: navigationType:/doLikeStuff bağlantıdan

, NO dönmek (böylece web görünümü kokan t aslında hiçbir şey yapmayın ve özel akışınızı uygulayın.

2

Facebook API aslında ios aygıtınızın çoklu görevleri destekleyip desteklemediğini denetler. Değilse pop up iletişim kutusunu kullanıyor. Cihaz destekliyorsa, Facebook uygulamasını kullanmaya çalışmaktadır (eğer tabii ki cihazda kuruluysa), daha sonra safari ve sadece açılır pencerede iletişim kutusu açılır. Aynı Facebook nesnesini kullanmaya dikkat edin, aksi takdirde her eylem için giriş yapmanız gerekir ...

0

Bunu yapamama konusunda bir anlaşma var gibi görünüyor. Ancak bu mesaj yapabilirsiniz gösterir:

Sen hakkında yorum yapabilir veya/yorum veya sahip herhangi bir nesne gibi/beğenenler: Using 'Like' with the Facebook Graph API on iOS

yedeklemek için buraya FB Graph API belgelerine bir alıntı var sırasıyla https://graph.facebook.com/OBJECT_ID/comments ve https://graph.facebook.com/OBJECT_ID/likes e yayınlayarak bağlantısı:

(kaynak: http://developers.facebook.com/docs/reference/api/)

+0

içinde pişman gibi beğenme düğmesi için örnekler var, bu yazı facebook'taki sayfalar hariç, hemen hemen her şeyi beğenebileceğinizi açıklıyor: http://stackoverflow.com/questions/5837010/facebook-api-liking-page -onun-kullanıcı-uzatılmış-izinler –

+1

Kopyalama ve çoklu sorulara boilerplate/verbatim cevapları yapıştırırken dikkatli olun, bunlar toplum tarafından "spam" olarak işaretlenir. Bunu yapıyorsanız, genellikle soruların çoğaltıldığı anlamına gelir. – Kev

1

Web bileşenlerini (UIWebView veya harici Safari gibi) ve SSO benzeri bir şekilde aralarında iletişim kurmak için yerel kodu (örneğin, UIButton gibi) kullanmanız mümkün değildir. 1) FB yetkilendirme için bir giriş çerezini saklar. 2) Her bir Web bileşeni, örn. UIWebView veya harici Safari kendi korumalı çerez depolama alanını kullanır. Aralarında iletişim kurmak için hiçbir yol buldum (ve kuvvetli olduğuna inanıyorum).

3) Yerli kodu (gibi authorize, grafik çağrıları vb)

4) Eğer başka bir yol bulmak bana bildirin dış FB'ler API çağrılarına kullanmak amacıyla uygulamanın Sandbox başına saklanan bir AccessToken kullanır;)

İlgili konular