[facebook] localhost에서 Facebook 애플리케이션 실행

내 로컬 호스트에서 Facebook 채팅에 연결할 계획입니다. Facebook에서 세션 키를 가져와야합니다. 사이트 URL을 그대로 제공 localhost:8080하거나 ip-address:8080작동하지 않습니다.

하나는 dev m / c에서 실행되고 다른 하나는 localhost에서 실행되는 2 개의 서로 다른 API 키를 사용하여 두 개의 앱을 설정하는 방법에 대해 읽었지만 제대로 이해하지 못했습니다.

누구든지 localhost에서 Facebook 앱을 실행하는 방법을 설명 할 수 있습니까?



답변

얼마 전에 이것에 대한 튜토리얼을 썼습니다 .

가장 중요한 점은 “사이트 URL”입니다.

사이트 URL : http : // localhost / app_name /

폴더 구조는 다음과 같습니다.

app_name
¦   index.php
¦
+---canvas
¦   ¦   index.php
¦   ¦
¦   +---css
¦           main.css
¦           reset.css
¦
+---src
        facebook.php
        fb_ca_chain_bundle.crt

편집 :
Kavya : FB 서버가 IP 또는 포트 없이도 내 로컬 호스트를 어떻게 인식합니까 ??

나는이 페이스 북과 아무 상관이 있다고 생각하지 않는다, 나는 생각 iframe이 된 이후 src매개 변수는 브라우저에 직접 넣어 것처럼 로컬 URL을 치료하는 것입니다 클라이언트 측에서로드됩니다.

예를 들어 온라인 서버에 콘텐츠 (예 :)가있는 파일이 있습니다 online.php.

<iframe src="http://localhost/test.php" width="100%" height="100%">
    <p>Not supported!</p>
</iframe>

그리고 localhost 루트 디렉토리에 다음 파일이 있습니다 test.php.

<?php echo "Hello from Localhost!"; ?>

이제 방문 http://your_domain.com/online.php하면 localhost 파일의 내용을 볼 수 있습니다!

이것이 바로 실시간 구독 및 콜백 승인 취소 가 로컬 호스트 URL에서 작동 하지 않는 이유입니다 ! Facebook은 이러한 URL에 대해 핑 (http 요청을 전송)하지만 분명히 Facebook 서버는 해당 URL을 귀하의 URL로 변환하지 않기 때문입니다!


답변

localhost를 사용하는 경우 :

Facebook-> Settings-> Basic에서 “App Domains”필드에 “localhost”를 입력 한 다음 “+ 플랫폼 추가”를 클릭하고 “웹 사이트”를 선택합니다.

“모바일 사이트 URL”과 “사이트 URL”이라는 두 개의 필드를 만들고 “사이트 URL”에 “localhost”를 다시 작성합니다.

나를 위해 작동합니다.


답변

또한 ‘호스트’파일을 편집하고 도메인의 로컬 변형을 만들 수도 있습니다.

실제 페이스 북 애플리케이션 주소가 “example.com”인 경우 “localhost”를 가리키는 “hosts”파일에 “localhost.example.com”(PC에서만 액세스 가능) 도메인을 만들고이 도메인에서 로컬 웹 사이트를 실행할 수 있습니다. 이런 식으로 Facebook을 속일 수 있습니다.


답변

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

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


답변

2013 년 8 월. Facebook은 “localhost : 3000″과 같이 앱에 대한 포트로 도메인을 설정하는 것을 허용하지 않습니다.

따라서 https://pagekite.net 을 사용 localhost:port하여 적절한 도메인 으로 터널링 할 수 있습니다 .

Rails 개발자는 http://progrium.com/localtunnel/ 을 무료로 사용할 수 있습니다 .

  • Facebook은 한 번에 하나의 앱 도메인 만 허용합니다. localhost로 다른 것을 추가하려고 시도하면 도메인에 대해 일종의 다른 오류가 표시됩니다. 콜백 및 앱 도메인 설정에는 한 번에 하나의 도메인 만 사용해야합니다.


답변

그래서 오늘 이걸 사용했습니다. 내 URL은 http://localhost:8888입니다. 내가 facebook에 준 도메인은 localhost입니다. FB.api방법을 사용하여 데이터를 가져 오려고했기 때문에 작동하지 않는다고 생각했습니다 . 나는 “정의되지 않은”이름과 소스가없는 이미지를 계속 얻었 기 때문에 확실히 Graph에 액세스 할 수 없었습니다.

나중에 나는 내 문제는 내가 단지의 첫 번째 인수를 전달했다 정말로 것을 깨달았다 /meFB.api, 나는 토큰이 없었다. 따라서 인수에 FB.getLoginStatus추가해야하는 토큰을 얻으려면 함수를 사용해야합니다 /me.


답변

캔버스 URL을 http : // localhost / app_path 로 지정하십시오 .