주어진 URL은 애플리케이션 구성에서 허용되지 않습니다.
내 HTML 페이지에서 이것을 사용했습니다 ...
<script>
window.fbAsyncInit = function() {
// init the FB JS SDK
FB.init({
appId : 'xxxxxxxxxxxxxx', // App ID from the App Dashboard
status : true, // check the login status upon init?
cookie : true, // set sessions cookies to allow your server to access the session?
xfbml : true // parse XFBML tags on this page?
});
// Additional initialization code such as adding Event Listeners goes here
};
// Load the SDK's source Asynchronously
// Note that the debug version is being actively developed and might
// contain some type checks that are overly strict.
// Please report such bugs using the bugs tool.
(function(d, debug){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all" + (debug ? "/debug" : "") + ".js";
ref.parentNode.insertBefore(js, ref);
}(document, /*debug*/ false));
function shareOnFb(action, msg){
FB.ui({
method: action,
message: msg
});
}
</script>
FB 메서드를 호출하려고 할 때마다 콘솔에 다음과 같이 표시됩니다.
주어진 URL은 애플리케이션 구성에서 허용되지 않습니다. : 주어진 URL 중 하나 이상이 앱 설정에서 허용되지 않습니다. 웹 사이트 URL 또는 캔버스 URL과 일치하거나 도메인이 Apps 도메인 중 하나의 하위 도메인이어야합니다.
이것은 내 fb 앱 설정입니다 .. 여기서 뭔가를 변경해야합니까? m 당분간 내 웹 사이트를 로컬에서 실행하기 때문에 추가를 시도했습니다.
localhost / OfferDrive /이 페이지의 앱 도메인에 있지만 유효한 도메인이 아니라는 오류가 표시됩니다.
당신의 값을 입력해야 페이스 북 로그인과 웹 사이트를 값으로 http://localhost/OfferDrive/
자바 스크립트 SDK의 요청이 적절한 장소에서 오는 것을 인증하기 위해 페이스 북을 허용하는
Anvesh Saxena의 답변 업데이트 (정확하지만 FB 앱 인터페이스가 변경됨에 따라 구식) :
FB 앱 구성에서 웹 사이트의 URL이 설정된 웹 사이트 플랫폼을 추가해야합니다. 그런 다음 웹 사이트의 기본 도메인에 설정 한 앱 도메인을 추가 할 수 있습니다 (예 : 같은 URL의 http://www.mycoolwebsite.com
경우을 사용하십시오 mycoolwebsite.com
).
중요 : 이 기능이 작동하려면 로컬 개발을 위해 앱 URL의 하위 도메인을 사용해야합니다. 개발 컴퓨터에서 호스트 파일을 수정하여 웹 사이트의 존재하지 않는 하위 도메인 (예 : local.mycoolwebsite.com
. 이 작업을 수행하는 방법에 익숙하지 않은 경우 플랫폼 (예 : mac / windows)에 대한 '호스트 파일 편집'을 Google에 입력하십시오.
설정-> 고급, "유효한 OAuth 리디렉션 URI"에 URL을 추가합니다. 이것은 나를 위해 작동합니다.
- Go to Facebook for developers dashboard
- Click
My Apps
and select your App from the dropdown.
(If you haven't already created any app select "Add a New App" to create a new app). - Go to
App Setting > Basic Tab
and then click "Add Platform" at bottom section. - Select "Website" and the add the website to log in as the
Site URL
(e.g.mywebsite.com
) - If you are testing in local, you can even just give the localhost URL of your app.
eg.http://localhost:8080/myfbsampleapp
- Save changes and you can now access Facebook information from
http://localhost:8080/myfbsampleapp
An update to munsellj's update..
I got this working in development just by adding localhost:3000 to the 'Website URL' option and leaving the App Domains box blank. As munsellj mentioned, make sure you've added a website platform.
- From the menu item of your app name which is located on the top left corner, create a test app.
- In the settings section of the new test app: add 'http://localhost:3000' to the Website url and add 'localhost' to App domains.
- Update your app with the new Facebook APP Id
- Use Facebook sdk v2.2 or whatever the latest in your app.
Note, the localhost is a special string that FB allows here. If you didn't configure your debugging environment under localhost, you'll have to push it underneath that name as far as I can tell.
Sometimes this error occurs for old javascript sdk. If you save locally javascript file. Update it. I prefer to load it form the facebook server all the time.
다른 답변에서 누락 된 것은 localhost (또는 0.0.0.0 또는 기타)를 oauth 콜백 URL로 허용하는 방법입니다. 여기에 설명이 있습니다. 개발을 위해 Facebook 앱에 localhost : 3000을 추가하려면 어떻게해야합니까?
이것이 발생할 수있는 또 다른 이유는 잘못된 appId를 보내는 경우입니다. 이는 개발 앱과 프로덕션 앱이있는 경우 초기 개발에서 발생할 수 있습니다. dev에 대한 appId를 하드 코딩하고 prod로 푸시하면 이것이 표시됩니다.
'code' 카테고리의 다른 글
자산 속도 향상 : Rails 3.1 / 3.2 Capistrano 배포로 사전 컴파일 (0) | 2020.11.30 |
---|---|
사전의 키 값으로 사전의 NSArray 정렬 (0) | 2020.11.30 |
OrderedDict를 사용하지 않는 이유가 있습니까? (0) | 2020.11.30 |
Python Pandas : 데이터 프레임 열의 문자를 바꾸는 방법은 무엇입니까? (0) | 2020.11.30 |
Elixir에서 숫자를 거듭 제곱하려면 어떻게해야합니까? (0) | 2020.11.30 |