Localhost'ta Facebook gelişimi


177

Sadece localhost'ta Facebook uygulamaları geliştirmenin herhangi bir yolu olup olmadığını bilmek istedim.

Yanıtlar:


246

Edit: 2-15-2012 Bu bir localhost web sitesi için FB kimlik doğrulaması nasıl kullanılır.

İkinci bir Facebook uygulaması kurmayı daha ölçeklenebilir ve kullanışlı buluyorum. Uygulamamı oluşturuyorsam, Uygulamam dev adlı ikinci bir tane yapacağım.

  • Https://developers.facebook.com/apps adresinden yeni bir uygulama oluşturun
  • (Yeni 2/15/2012)Website 'Uygulamanızın Facebook ile nasıl entegre olacağını seçin' altındaki onay kutusunu tıklayın (Son Facebook sürümünde bunu Ayarlar> Temel> Platform Ekle - Daha sonra web sitesi seçin altında bulabilirsiniz)
  • Set Sitesi URL alanını ( DEĞİL App Domains alan için) //www.localhost: http 3000 (bu adres Ruby on Rails için gerektiği gibi değişim)

resim açıklamasını buraya girin

  • Uygulama başlatıcıda, ortamı algılamak için kod girin
    • Örnek Raylar 3 kodu
      Rails.env == 'geliştirme' || Rails.env == 'test'
        Rails.application.config.middleware.use OmniAuth :: Oluşturucu
          sağlayıcı: facebook, 'DEV_APP_ID', 'DEV_APP_SECRET'
        son
      Başka
        # Üretim
        Rails.application.config.middleware.use OmniAuth :: Oluşturucu
          sağlayıcı: facebook, 'PRODUCTION_APP_ID', 'PRODUCTION_APP_SECRET'
        son
      son
      

Bu yöntemi tercih ederim çünkü kurulduktan sonra iş arkadaşlarınız ve diğer makinelerin ek ayarları yoktur.


3
+ 1ed Bu garip! Kullanıcılar, localhost'u uygulama URL'niz olarak ekleyemeyeceğinizi söylüyor. Ama bu sadece benim için çalışıyor. Teşekkür ederim!
Keyne Viana

15
Bu senin için hala geçerli mi? Localhost veya 127.0.0.1:5000 veya Facebook için uygulama alanımınkine benzer bir şey ekleyemiyorum.
Pete

Yeni bir tane oluşturmayı denedim ve 'geçersiz alan adı' sorunuyla karşılaştım. Yakaladığınız için teşekkürler
Eric Hu

1
@zoltarSpeaks Güncellenmiş cevabımı görün. "Uygulama alanı" değil, farklı bir alan kullanmalısınız
Eric Hu

1
başlatıcıları / devise.rb'nin config.omniauth: facebook, 'APP_KEY', 'APP_SECRET',: scope => "e-posta, offline_access .."
disappearedng

26

Tabii ki, app_domain'inize url localhost ("http" olmadan) ve sonra site_url http://localhost(http ile)

Güncelleme

Facebook şimdi işleri biraz değiştir, sadece uygulama ayarlarına git ve site url'sinde sadece http: //localhostUygulama Alan Adını ekle ve boş bırak


Bu tamamen işe yarıyor. Çitin yanında hiçbir şeye gerek yok.
godspeedelbow

10
Bu artık işe yaramıyor hata üst düzey alan adları ekleyemezsiniz
Josh Bedo

20

İşte benim yapılandırma ve PHP API için iyi çalışıyor:

uygulama alanı

   http://localhost

Site URL'si

   http://localhost:8082/

1
localhost çalışmak için bu metin girişlerinin her ikisini de doldurmak zorunda kaldı
paulruescher

19

NOT: 2012 itibariyle Facebook, dönüş URL'si olarak "localhost" un kaydedilmesine izin vermektedir. Diğer sağlayıcılar için de benzer bir geçici çözüm gerekebilir (örn. Microsoft).

Facebook'a kayıtlı gerçek etki alanı adına ihtiyacınız varsa (my.really.own.domain.com gibi) bu etki alanına yerel olarak istekleri makinenize yeniden yönlendirebilirsiniz. Herhangi bir işletim sistemindeki en kolay yaklaşım, etki alanını 127.0.0.1 ile eşleştirmek için "hosts" dosyasını değiştirmektir (bkz. Http://technet.microsoft.com/en-us/library/bb727005.aspx#EDAA ve https: / /serverfault.com/questions/118290/cname-record-alias-in-windows-hosts-file ).

Genellikle benim için yapmak için Fiddler kullanıyorum (yerel IIS'li Windows'ta) - http://www.fiddler2.com/Fiddler/Dev/ScriptSamples.asp adresindeki örneklere bakın .

if (oSession.HostnameIs("my.really.own.domain.com")) {
   oSession.host="localhost:80";
}

Hosts dosya yaklaşımları, gelen URL'lerin localhost / 127.0.0.1 olmasını gerektirdiğinden Visual Studio Development Server ile çalışmaz. Ana bilgisayarı geçersiz kılmak için onunla (veya muhtemelen IIS express ile) çalışmanız gerekiyorsa - Fiddler'ı IIS7 Express ile kullanma


9

Facebook artık FBML Facebook uygulamaları için 'localhost' geri arama URL'sine izin vermiyor


Facebook güvenlik ayarlarınızda 'Güvenli Tarama'yı devre dışı bıraktığınızdan emin olun. Bu, etkinleştirilirse localhost'unuzu kullanılamaz hale getirir.
supajb

9

Yeni geliştirme merkezi ile artık daha kolay:

1) Uygulama alan adlarını boş bırakın.
2) Platform Ekle'yi tıklayın
3) Site URL'si, yerel barındırıcınızın tam yoluna eşit olmalıdır.
4) Değişiklikleri Kaydet


1
Bu, bir localhost kurulumu için en iyi yoldur. Temel URL'yi geliştirme ortamınıza yukarıdaki gibi ekleyin; http: // olmadan facebook sizin için ekleyemez. Basit şeyler! Teşekkürler Jay
keade

1
Bu çözüm localhost üzerinde çalışırken sorunumu çözdü
Rola

8

Bir çözüm buldum: Yerel makinenize http://localtunnel.com adresini kullanarak erişebilirsiniz . Bağlantıların geçici etki alanını göstermesi için uygulama kodunuzda / html'nizde kullanılan bazı URL'leri (geçici olarak) değiştirmeniz gerekir, ancak en azından facebook makinenize erişebilir.


7

Uygulamanızın Ayarlar-> Temel-> altındaki uygulamanızın Facebook ile nasıl entegre olacağını seçin temel ayarlarında ( https://developers.facebook.com/apps ) ...

Üretim ve geliştirme URL'lerinizi tutmak için "Site URL:" ve "Mobil Site URL:" kullanın. Her iki sitenin de kimlik doğrulamasına izin verilecek. Kimlik doğrulama için sadece Facebook kullanıyorum, bu yüzden mobil site yönlendirme özelliklerinden hiçbirine ihtiyacım yok. Kimlik doğrulamasını test ederken genellikle "Mobil Site URL'sini": "localhost: 12345" sitemle değiştiririm ve işim bittiğinde tekrar normale döndürürüm.


5

Var ! Bir uygulama oluşturduğunuzda çözümüm çalışıyor, ancak web sitenizde facebook kimlik doğrulaması kullanmak istiyorsunuz. FB sayfasına entegre bir uygulama oluşturmak istediğinizde aşağıdaki bu çözüme İHTİYAÇ YOKTUR.

Mesele şu ki, "localhost" u uygulamanızın facebook yapılandırma sayfasına bir alan olarak koyamazsınız. Güvenlik nedenleri?

OSX / Linux etc / hosts'de ana makine dosyanıza gitmeniz ve aşağıdaki satırı eklemeniz gerekir: 127.0.0.1 dev.alanadiniz.com

İstediğiniz her şeyi koyduğunuz alan adı. Bir hata bu satırı eklemektir: localhost dev.alanadiniz.com (en azından osx kar leoparı üzerinde çalışmıyor).

Sonra dns önbelleğinizi temizlemeniz gerekir. OSX'te: uçbirime dscacheutil -flushcache yazın . Son olarak, çevrimiçi facebook geliştirici web sitesine geri dönün ve uygulamanızın yapılandırma sayfasına "dev.alanadiniz.com" alan adını ekleyebilirsiniz.

Mamp, Easyphp veya başka bir program kullanıyorsanız Apache bağlantı noktasının 80 olduğundan emin olun.

Bir ana bilgisayar dosyası olduğundan bu çözüm Windows için de çalışmalıdır. Yine de, hatırladığım kadarıyla Windows 7 artık bu dosyayı kullanmıyor, ancak pencereleri bir hosts dosyasını kullanmaya zorlamak için bir yol bulursanız bu hile çalışmalıdır.


win8.1 c: \ windows \ system32 \ drivers \ etc \ hosts için çalışır. chrome URL = chrome: // net-internals / # dns
rnrneverdies

5

Facebook ürününü 'facebook login' seçmeli ve Client OAuth Login, 'Web OAuth Login' ve 'Embedded Browser OAuth Login' seçeneklerini etkinleştirmelisiniz. resim açıklamasını buraya girin


Bu, sorunu ilerletmeye yardımcı oldu. 23/02/2018 tarihinden itibaren FB'den gelen mesaj: Mart ayında, aşağıdaki Geçerli Geçerli OAuth yönlendirme URI'larında listelenmeyen URI'lerden gelen çağrıları geçersiz kılacak uygulama ayarlarınız için bir güvenlik güncellemesi yapıyoruz.Bu güncelleme kötü amaçlı etkinliğe yanıt olarak geliyor platformumuzda gördük ve yönlendirme URI'leri için yeni bir katı mod gerektirerek uygulamanızı veya web sitenizi korumak istiyoruz.
Tim Tyler

1
Fb artık geri arama için https gerektiriyor. Localhost https'yi desteklemiyor.
huuthang

1
@huuthang böylece tüm bu Q / A kullanımdan kaldırıldı.
RGB


3

Visual studio geliştirme web sunucusunu kullanarak uygulama geliştirebilmeniz gerektiğini düşünüyorum: http://www.facebook.com/developers/ adresinde yeni bir FaceBook uygulaması başlatın . Ardından URL sitesi ve tuval URL'si için ayarları web sitenizin çalışan örneğine ayarlayın, örneğin: http: // localhost: 1062 /

FaceBook ile başlamanıza yardımcı olacak birkaç bağlantı:

  1. http://thinkdiff.net/facebook/graph-api-iframe-base-facebook-application-development/ ,
  2. http://nagbaba.blogspot.com/2010/05/experiencing-facebook-javascript-sdk.html ,
  3. http://apps.facebook.com/thinkdiffdemo/

Bu yardımcı olur umarım.


3

Bunu dene ---

https://www.facebook.com/help/community/question/?id=589302607826562

1 - Uygulamalar'ı tıklayın ve ardından uygulamanızı seçin.

2 - Ekranın sol tarafındaki Ayarlar düğmesini tıklayın.

3 - Temel ayarlarda, ayarlar yapılandırmasının altındaki Platform Ekle düğmesini tıklayın.

4 - Platform iletişim kutusunda Web Sitesi'ni seçin.

5 - URL'nizi girin (localhost burada çalışır).

6 - Uygulama Etki Alanları metin girişine URL'nizdekiyle eşleşen alan adınızı ekleyin.

7 - Ayarlarınızı kaydedin.


2

Uygulamanızı şu şekilde kaydettiğinizi varsayalım:

app.domain.com

/ Etc / hosts dosyasını ekleyerek değiştirmeniz yeterlidir.

127.0.0.1 dev01.app.domain.com

Ardından, apache yapılandırmanızı değiştirin

ServerName dev01.app.domain.com

ve apache'yi yeniden başlatın.

URL'nizi, bazı aramalarda XML parametresi olarak kullanmak için bir değişkene koymanız gerekir:

<fb:login-button registration-url="http://<?=$URL?>/register" />

2

En çok oy alan cevap hakkında yorum yapmak için yeterli krediniz yok, ama en azından raylar ortamımda (4 çalışıyor), raylar http://localhost:3000değil http://www.localhost:3000. Bunu değiştirdiğimde http://localhost:3000, gayet iyi çalıştı. Herhangi bir hosts dosyasını düzenlemenize gerek yoktur.


2

app domain : localhost

site URL : http://localhost:4440/

benim için yeni kullanıcı arayüzüyle çalıştı.


0

Benim Çözüm localhost iyi çalışıyor ..... Site URLS kullanımı http://localhost/ ve Uygulama etki alanları kullanımı için localhost/folder_name Geri kalan her şey aynı ....... iyi çalışıyor (Uygulama Alanı'nda redflag gösterir ... Uygulama iyi çalışıyor)


0

Facebook giriş sekmesi tıklama ayarları altındaki uygulama kontrol paneline gitmek kolaydır, ardından HTTP'leri Zorla Hayır, ayarları kaydet'i seçinresim açıklamasını buraya girin


0

Uygulama localhost'ta iyi çalışır: 3000, sadece üretim modundayken uygulamanın yayınlanacağı https adresini belirtmeniz gerekir.
Seçenek 2 url veya size heroku web sitesi sağlar üretim modunda örnek uygulama var sağlar.

resim açıklamasını buraya girin


0

Son güncelleme: Geliştirme aşamasında test ediyorsanız herhangi bir url vermek zorunda değilsiniz. Alanları boş bırakabilirsiniz. Uygulamanızın geliştirme modunda olduğundan emin olun. Değilse, durumu canlıdan kapatın.

Site URL'si, uygulama alan adları veya geçerli yönlendirme oauth uri sağlamanıza gerek yoktur.

resim açıklamasını buraya girin


1
Uygulamanızı "canlı" dan "geliştirme" ye çevirirseniz, geliştirme makinesinde localhost'tan giriş yapabileceğinizi, ancak TÜM CANLI KULLANICILARINIZIN artık giriş yapamayacağını unutmayın.
webdevbyjoss

Bunu yaptım ve hala bana hata verdi ve fb düğmesi
görünmezdi

Uygulamayı oluşturduktan sonra sadece geliştirme / test için bir uygulama almak için "Test Uygulaması Oluştur" düğmesine tıklayın. Uygulama alanlarına hala "localhost" eklemem gerekiyordu.
Hiçbiri

@ J.Money Sanırım şimdiye kadar değişmiş olabilir. Bilmeme izin verdiğin için teşekkürler.
Vigneshwaran Sivalingam
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.