저는 Rails와 jQuery를 사용하여 Facebook 용 게임을 작성하고 있습니다. Facebook Javascript SDK를 사용하기 시작한 이후로 localhost를 앱 도메인으로 사용하는 것이 잘 작동하는 것 같습니다. 로컬과 Heroku에서 내 게임을 테스트 할 수있었습니다.
지난 하루에 Facebook은 개발자 UI를 크게 업데이트 한 것으로 보입니다. 이제 localhost를 앱 도메인으로 추가하면 다음 오류가 발생합니다.
이는 캔버스 URL, 보안 캔버스 URL, 사이트 URL, 모바일 사이트 URL, 페이지 탭 URL 또는 보안 페이지 탭 URL에서 파생되어야합니다. 다음 도메인을 확인하고 수정하십시오. localhost
내 게임도 이제 로컬에서 작동하지 않으며 Javascript SDK가 사용자를 로그인 할 때 오류가 발생합니다.
API 오류 코드 : 191 API 오류 설명 : 지정된 URL은 애플리케이션이 소유하지 않습니다. 오류 메시지 : 잘못된 redirect_uri : 지정된 URL은 애플리케이션 구성에서 허용되지 않습니다.
herokuapp.com이 유효한 앱 도메인으로 간주되기 때문에 게임을 배포 할 때는 이런 일이 발생하지 않습니다.
더 이상 localhost 또는 127.0.0.1을 사용할 수없는 경우 게임을 개발하고 테스트하려면 어떻게해야합니까?
답변
프로토콜이 계속 변경되는 것 같고 수락 된 답변이 오늘 저에게 효과가 없었습니다. 다른 검색 자에게 도움이되는 경우 다음과 같이 효과가있었습니다.
- 모든 변경은 기본 탭의 설정 페이지에서 이루어졌습니다.
1.) 옵션의 첫 번째 상자 아래 중앙에서 “+ 플랫폼 추가”를 클릭하고 “웹 사이트”(또는 앱에 적합한 항목)를 선택합니다.
2.) 방금 추가 한 웹 사이트의 상자에 : 사이트 URL : http://localhost:3000/
3.) 위의 상자에서 (설정 => 기본) : 앱 도메인 : localhost
4.) 오른쪽 하단에서 “변경 사항 저장”을 클릭하십시오.
5.) 앱 ID를 복사하여 코드에 올바르게 붙여 넣었는지 확인하십시오. (ID는 다시 필요한 경우 해당 페이지의 첫 번째 상자에 있습니다.)
답변
- http://developers.facebook.com 의 앱 설정 페이지로 이동합니다.
- 왼쪽 상단 (앱 이름 옆)에있는 드롭 다운 화살표를 클릭하고 “테스트 앱 만들기”를 클릭하고 이름을 지정합니다.
- 새 테스트 앱의 설정> 기본에서 앱 도메인을 “localhost”로 설정합니다.
- 또한 웹 사이트 사이트 URL을 ” http : // localhost : 8888 “(또는 사용중인 포트)로 설정하십시오.
- 중요 :이 앱은 온라인 애플리케이션과 다른 앱 ID와 앱 비밀을 가지고 있습니다. 따라서 마지막 단계 : 로컬 호스트에있는 코드를 테스트 앱의 앱 ID 및 앱 시크릿으로 업데이트해야합니다. 반대로 라이브 서버에있는 코드는 메인 앱의 ID와 시크릿을 사용해야합니다.
답변
heroku와 같은 원격 서버에 배포하지 않고도 앱을 테스트 할 수 있습니다. 트릭은 다음과 같이 etc/hosts
파일 을 업데이트하는 것입니다.
127.0.0.1 mydomain.com
그런 다음 Facebook 앱의 설정 에서 “[“및 “]”없이 [ http : //] mydomain.com을 입력합니다 .
이 방식으로 나를 위해 일했습니다.
답변
2017 년에이 문제를 안타까워하는 모든 사람을 위해. 인터페이스가 다시 변경되었습니다. 나는 이것을 대답에 대해 언급하고 싶었지만 평판이 충분하지 않습니다. 이제 앱의 로컬 호스트 URL을 세 곳에 복사해야합니다. 현재 (2017 년 10 월 26 일) 순서는 다음과 같습니다.
1.) 왼쪽 메뉴에서 “설정”을 클릭하십시오.
2.) 옵션의 첫 번째 상자 아래 중앙에서 “+ 플랫폼 추가”를 클릭하고 “웹 사이트”(또는 앱에 적합한 항목)를 선택합니다.
3.) 방금 추가 한 웹 사이트의 상자에 localhost 사이트 URL (fe http : // localhost : 3000 / )을 복사합니다 .
4.) “앱 도메인”위의 상자에 동일한 URL을 복사합니다.
5.) 오른쪽 하단에서 “변경 사항 저장”을 클릭하십시오.
6.) “제품”의 왼쪽 메뉴에서 “Facebook 로그인”을 클릭합니다 (또는 사용할 수없는 경우 “+ 제품 추가”를 통해 추가).
7.) 이제 Facebook 로그인 설정에 있습니다. “유효한 OAuth 리디렉션 URI”필드에 동일한 URL을 복사합니다.
작동합니다.
답변
캔버스 URL 또는 모바일 사이트 URL로 localhost를 추가하면 앱 도메인 설정에서 localhost와 herokuapp.com을 모두 가질 수 있습니다. 그런 다음 앱이 프로덕션에 들어가면 제거하면됩니다.
답변
이것은 잘못된 방법입니다. 앱 설정에서 테스트 탭을 사용하여 테스트 애플리케이션을 만들어야합니다. 그런 다음 애플리케이션에 개발 단계 URL (예 : localhost)을 입력 할 수 있습니다.
답변
Firebase를 사용한 솔루션
이 작업을 수행하기 위해 localhost
포트 3000
에서 다음을 수행했습니다.
- 앱 생성
- 이제 화살표 드롭 다운 (왼쪽 상단)에서 “+ Create Test App”을 선택합니다.
localhost
앱 도메인에 추가
- 추가
http://localhost:3000/
선택하여 사이트 URL에 “+ 추가 플랫폼”
지금까지 여기에 제출 된 모든 이전 답변을 따랐지만 아무것도 작동하지 않았습니다.
그래서…
-
왼쪽 메뉴에서 “제품 추가”를 선택합니다.
-
“Facebook 로그인”추가
기본 도메인이있는 워크 플로 캐 러셀이 표시 http://localhost:3000/
되면 끝까지 “계속”을 클릭합니다.
-
제품 메뉴에서 “Facebook 로그인> 설정”을 선택합니다.
-
Firebase OAuth 리디렉션 URI를 입력합니다 (Firebase 콘솔 https://console.firebase.google.com 에서 Facebook 로그인을 활성화 할 때 찾을 수 있음 , 아래 예).
- URI를 붙여넣고 저장합니다.
끝난.