localhost에서 페이스 북 개발


177

localhost에서 Facebook 응용 프로그램을 개발할 수있는 방법이 있는지 알고 싶었습니다.

답변:


246

편집 : 2012 년 2 월 15 일 로컬 호스트 웹 사이트에 FB 인증을 사용하는 방법입니다.

두 번째 Facebook 앱을 설정하는 것이 더 확장 가능하고 편리하다는 것을 알았습니다. MyApp을 구축하는 경우 MyApp-dev라는 두 번째 제품을 만듭니다.

  • https://developers.facebook.com/apps 에서 새 앱을 만듭니다.
  • (Website 2012 년 2 월 15 일) '응용 프로그램이 Facebook과 통합되는 방법 선택'아래 의 확인란을 클릭합니다 (최신 Facebook 버전의 경우 설정> 기본> 플랫폼 추가-웹 사이트 선택에서 찾을 수 있음).
  • 설정 사이트의 URL 필드 ( NOT 앱 도메인 필드 에) //www.localhost : HTTP 3000 (이 주소는 루비 온 레일즈입니다, 필요에 따라 변경)

여기에 이미지 설명을 입력하십시오

  • 응용 프로그램 이니셜 라이저에서 환경을 감지하는 코드를 넣으십시오.
    • 샘플 레일 3 코드
      Rails.env == 'development'|| 인 경우 Rails.env == '테스트'
        Rails.application.config.middleware.use OmniAuth :: Builder는
          제공자 : 페이스 북, 'DEV_APP_ID', 'DEV_APP_SECRET'
        종료
      그밖에
        # 생산
        Rails.application.config.middleware.use OmniAuth :: Builder는
          제공 업체 : facebook, 'PRODUCTION_APP_ID', 'PRODUCTION_APP_SECRET'
        종료
      종료
      

일단 설정되면 동료와 다른 컴퓨터에는 추가 설정이 없으므로이 방법을 선호합니다.


3
+ 1ed 이것은 이상하다! 사람들은 로컬 호스트를 앱 URL로 추가 할 수 없다고 말합니다. 그러나 그것은 단순히 나를 위해 작동합니다. 감사합니다!
Keyne Viana

15
이것은 여전히 ​​당신의 경우입니까? 로컬 호스트 또는 127.0.0.1:5000 또는 Facebook 용 앱 도메인과 비슷한 것을 추가 할 수없는 것 같습니다.
Pete

방금 새 것을 만들려고했는데 '잘못된 도메인'문제가 발생했습니다. 캐치 주셔서 감사합니다
Eric Hu

1
@zoltarSpeaks 업데이트 된 답변보기. "애플리케이션 도메인"이 아닌 다른 필드를 사용해야합니다
Eric Hu

1
이것은 initializers / devise.rb의 config.omniauth : facebook, 'APP_KEY', 'APP_SECRET', : scope => "email, offline_access .."를 무시합니까?
사라짐

26

물론 app_domain에 URL localhost ( "http"없이)를 추가 한 다음 site_url http://localhost(http로) 을 추가하면됩니다.

최신 정보

Facebook은 이제 상황을 조금 변경합니다. 앱 설정으로 이동하고 사이트 URL http: //localhost에서 앱 도메인을 추가 하고 비워 두십시오.


이것은 완전히 작동합니다. 울타리 옆에 아무것도 필요가 없습니다.
godspeedelbow

10
더 이상 작동하지 않습니다. 오류가 발생하면 최상위 도메인을 추가 할 수 없습니다.
Josh Bedo

20

여기 내 구성이 있으며 PHP API에서 제대로 작동합니다.

앱 도메인

   http://localhost

사이트 URL

   http://localhost:8082/

1
작업에 localhost를 위해 그 텍스트 입력 모두에 기입했다
paulruescher

19

참고 : 2012 년 현재 Facebook에서는 "localhost"를 반환 URL로 등록 할 수 있습니다. 다른 제공 업체 (예 : Microsoft)에 대해서도 유사한 해결 방법이 필요할 수 있습니다.

Facebook에 등록 된 실제 도메인 이름 (예 : my.really.own.domain.com)이 필요한 경우 로컬로이 도메인에 대한 요청을 컴퓨터로 리디렉션 할 수 있습니다. OS에서 가장 쉬운 방법은 도메인을 127.0.0.1로 매핑하기 위해 "호스트"파일을 변경하는 것입니다 ( http://technet.microsoft.com/en-us/library/bb727005.aspx#EDAAhttps : / 참조) . /serverfault.com/questions/118290/cname-record-alias-in-windows-hosts-file ).

나는 보통 Fiddler를 사용하여 나를 위해 (로컬 IIS가있는 Windows에서) http://www.fiddler2.com/Fiddler/Dev/ScriptSamples.asp의 샘플을 참조하십시오 .

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

접근 방식의 호스트 파일 접근 방식은 들어오는 Urls가 localhost / 127.0.0.1이어야하므로 Visual Studio Development Server에서는 작동하지 않습니다. 호스트를 재정의하기 위해 (또는 IIS Express와 함께) 작업해야하는 경우 -IIS7 Express에서 Fiddler 사용


9

Facebook에서 더 이상 FBML Facebook 애플리케이션에 대한 'localhost'콜백 URL을 허용하지 않습니다.


Facebook 보안 설정에서 '보안 브라우징'이 비활성화되어 있는지 확인하십시오. 이렇게하면 활성화 된 로컬 호스트를 사용할 수 없게됩니다.
supajb

9

새로운 개발 센터를 통해 이제 더 쉬워졌습니다.

1) 앱 도메인을 비워 둡니다.
2) 플랫폼 추가를 클릭하십시오.
3) 사이트 URL은 로컬 호스트의 전체 경로와 같아야합니다.
4) 변경 사항 저장


1
이것이 로컬 호스트 설치를위한 가장 좋은 방법임을 확인했습니다. 위와 같이 개발 환경에 기본 URL을 삽입하면 http : //없이 페이스 북에 추가됩니다. 간단한 것들! 감사합니다 Jay
keade

1
이 솔루션은 localhost에서 실행할 때 문제를 해결했습니다
Rola

8

방금 해결 방법을 발견했습니다 . http://localtunnel.com 을 사용하여 로컬 컴퓨터에 액세스 할 수 있습니다 . 링크가 임시 도메인을 가리 키도록 앱 코드 / html에 사용 된 일부 URL을 (일시적으로) 변경해야하지만 최소한 페이스 북이 컴퓨터에 도달 할 수 있습니다.


7

앱의 기본 설정 ( https://developers.facebook.com/apps )에서 설정-> 기본-> 앱과 Facebook의 통합 방법 선택 ...

"사이트 URL :"및 "모바일 사이트 URL :"을 사용하여 프로덕션 및 개발 URL을 각각 보유하십시오. 두 사이트 모두 인증이 가능합니다. 인증을 위해 Facebook을 사용하고 있으므로 모바일 사이트 리디렉션 기능이 필요하지 않습니다. 인증을 테스트하는 동안 일반적으로 "모바일 사이트 URL :"을 "localhost : 12345"사이트로 변경 한 다음 완료되면 다시 정상으로 설정합니다.


5

있습니다! 내 솔루션은 앱을 만들 때 작동하지만 웹 사이트에서 페이스 북 인증을 사용하려고합니다. FB 페이지에 통합 된 앱을 만들려면 아래의이 솔루션이 필요하지 않습니다.

문제는 앱의 페이스 북 구성 페이지에서 "localhost"를 도메인으로 넣을 수 없다는 것입니다. 보안 이유?

OSX / Linux etc / hosts에서 호스트 파일로 이동하여 다음 행을 추가해야합니다. 127.0.0.1 dev.yourdomain.com

원하는 것을 원하는 도메인. localhost dev.yourdomain.com (적어도 osx 스노우 레오파드에서는 작동하지 않음)을 추가하는 것이 실수입니다.

그런 다음 dns 캐시를 지워야합니다. OSX의 경우 : 터미널에 dscacheutil -flushcache 를 입력 하십시오. 마지막으로 온라인 페이스 북 개발자 웹 사이트로 돌아가서 앱의 구성 페이지에서 "dev.yourdomain.com"도메인을 추가 할 수 있습니다.

Mamp, Easyphp 등의 프로그램을 사용하는 경우 Apache 포트가 80인지 확인하십시오.

이 솔루션에는 호스트 파일도 있기 때문에 Windows에서 작동합니다. 그럼에도 불구하고 Windows 7에서 더 이상이 파일을 사용하지 않는다는 것을 기억하지만 Windows가 호스트 파일을 사용하도록 강제하는 방법을 찾으면이 트릭이 작동합니다.


win8.1 c : \ windows \ system32 \ drivers \ etc \ hosts에서 작동합니다. 크롬 URL에서 플러시 '호스트 리졸버 캐시'가 필요할 수 있습니다 = chrome : // net-internals / # dns
rnrneverdies

5

Facebook 제품 'facebook login'을 선택하고 client OAuth Login, 'Web OAuth Login'및 'Embedded Browser OAuth Login'을 활성화해야 localhost url을 제공하더라도 작동합니다. 여기에 이미지 설명을 입력하십시오


이는 문제를 함께 해결하는 데 도움이되었습니다. 2018 년 2 월 23 일 현재 FB의 메시지 : 3 월, 아래의 유효한 OAuth 리디렉션 URI 필드에 나열되지 않은 URI의 호출을 무효화하는 앱 설정에 대한 보안 업데이트가 있습니다.이 업데이트는 악성 활동에 대한 응답으로 제공됩니다. 우리는 플랫폼에서 보았고 리디렉션 URI에 새로운 엄격한 모드를 요구하여 앱이나 웹 사이트를 보호하려고합니다.
Tim Tyler

1
Fb는 이제 콜백에 https가 필요합니다. 로컬 호스트는 https를 지원하지 않습니다.
huuthang

1
@huuthang이 Q / A 전체는 더 이상 사용되지 않습니다.
RGB


3

Visual Studio 개발 웹 서버를 사용하여 응용 프로그램을 개발할 수 있어야한다고 생각합니다. http://www.facebook.com/developers/ 에서 새 FaceBook 응용 프로그램을 시작 하십시오 . 그런 다음 사이트 URL 및 캔버스 URL에 대한 설정을 웹 사이트의 실행중인 인스턴스로 설정하십시오 (예 : http : // localhost : 1062 /).

FaceBook을 시작할 때 도움이되는 몇 가지 링크는 다음과 같습니다.

  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/

도움이 되었기를 바랍니다.


3

이 시도 ---

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

1-앱을 클릭 한 다음 앱을 선택하십시오.

2-화면 왼쪽의 설정 버튼을 클릭하십시오.

3-기본 설정에서 설정 구성 아래에있는 플랫폼 추가 버튼을 클릭하십시오.

4-플랫폼 대화 상자에서 웹 사이트를 선택하십시오.

5-URL을 입력하십시오 (localhost는 여기서 작동합니다).

6-앱 도메인 텍스트 입력에서 URL의 도메인과 일치하는 도메인을 추가하십시오.

7-설정을 저장하십시오.


2

앱을 다음과 같이 등록했다고 가정합니다.

app.domain.com

다음을 추가하여 / etc / hosts 파일을 수정하면됩니다.

127.0.0.1 dev01.app.domain.com

그런 다음 아파치 구성을 수정하십시오.

ServerName dev01.app.domain.com

아파치를 다시 시작하십시오.

일부 호출에서 URL을 XML 매개 변수로 사용하려면 URL을 변수에 넣어야합니다.

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

2

가장 많이 투표 된 답변에 대해 언급 할만한 충분한 정보가 없지만 적어도 레일 환경 (4 회 실행)에서는 rails가 http://localhost:3000아닌 http://www.localhost:3000입니다. 로 변경하면 http://localhost:3000정상적으로 작동합니다. 호스트 파일을 편집 할 필요가 없습니다.


2

app domain : localhost

site URL : http://localhost:4440/

새로운 UI로 저를 위해 일했습니다.


0

내 솔루션은 localhost에서 잘 작동합니다 ..... 사이트 URL 사용 http://localhost/ 및 응용 프로그램 도메인 사용 localhost/folder_name 나머지는 모두 동일 합니다 .... 그것은 잘 작동합니다 (App Domain에서 redflag가 표시되지만 응용 프로그램은 정상적으로 작동합니다)


0

페이스 북 로그인 탭 아래의 앱 대시 보드로 쉽게 이동하여 설정을 클릭 한 다음 HTTP 적용을 선택하십시오. 아니오, 설정 저장여기에 이미지 설명을 입력하십시오


0

응용 프로그램은 localhost : 3000에서 제대로 실행됩니다. 프로덕션 모드에있을 때 응용 프로그램이 작동하는 https 주소 만 지정하면됩니다.
옵션 2는 URL을 제공하거나 프로덕션 모드에서 샘플 응용 프로그램을 사용할 수있는 heroku 웹 사이트를 제공합니다.

여기에 이미지 설명을 입력하십시오


0

최신 업데이트 : 개발시 테스트 할 경우 URL을 제공 할 필요가 없습니다. 필드를 비워 둘 수 있습니다. 앱이 개발 모드인지 확인하십시오. 라이브 상태를 해제하지 않은 경우.

사이트 URL, 앱 도메인 또는 유효한 리디렉션 oauth uri를 제공 할 필요가 없습니다.

여기에 이미지 설명을 입력하십시오


1
앱을 "실시간"에서 "개발"로 전환하면 개발 시스템의 로컬 호스트에서 로그인 할 수 있지만 모든 라이브 사용자는 더 이상 로그인 할 수 없습니다.
webdevbyjoss

나는 이런 짓을하고 아직도 나에게 오류 및 FB 버튼을 표시하지 않을 준
joslinm

앱을 만든 후 "테스트 앱 만들기"버튼을 클릭하면 개발 / 테스트 용 앱을 얻을 수 있습니다. 여전히 앱 도메인에 "localhost"를 추가해야했습니다.
None

@ J.Money 지금 변경 될 수 있다고 생각합니다. 알려 줘서 고마워.
Vigneshwaran Sivalingam
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.