Ответ 1
Вам нужно заполнить значение Веб-сайта с помощью Facebook Login со значением http://localhost/OfferDrive/
, чтобы позволить Facebook аутентифицировать, что запросы из SDK JavaScript поступают с нужного места.
Я использовал это на моей странице 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 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 холста, или домен должен быть поддоменом одного из доменов Apps.
это мое приложение для приложения fb.. мне нужно что-то изменить здесь, m работает на моем сайте локально на время, поэтому я попробовал добавить
localhost/OfferDrive/в домен приложения на этой странице, но он говорит об ошибке, что это не допустимый домен
Вам нужно заполнить значение Веб-сайта с помощью Facebook Login со значением http://localhost/OfferDrive/
, чтобы позволить Facebook аутентифицировать, что запросы из SDK JavaScript поступают с нужного места.
Обновите ответ Anvesh Saxena (правильный, но устаревший, поскольку интерфейс интерфейса FB изменился):
В вашей конфигурации FB App вам нужно добавить платформу сайта с установленным URL-адресом вашего веб-сайта. Затем вы можете добавить домены приложений, которые я установил для нашего базового домена нашего сайта (например, для URL-адреса, такого как http://www.mycoolwebsite.com
, просто используйте mycoolwebsite.com
).
ВАЖНО: Для этого вам нужно будет использовать субдомен URL вашего приложения для вашей локальной разработки. Вы можете сделать это легко, изменив файл hosts на своем компьютере разработки, чтобы использовать несуществующий субдомен вашего сайта, например local.mycoolwebsite.com
. Просто удалите "файл хостов" для своей платформы (например, mac/windows), если вы не знаете, как это сделать.
Настройки → Дополнительно, добавьте URL-адрес в "Действительные URI-адреса перенаправления OAuth". Это работает для меня.
My Apps
и выберите приложение из раскрывающегося списка. App Setting > Basic Tab
, а затем нажмите "Добавить платформу" в нижней части.Site URL
(например, mywebsite.com
)http://localhost:8080/myfbsampleapp
http://localhost:8080/myfbsampleapp
Обновление для обновления munsellj..
Я получил эту работу в разработке, просто добавив localhost: 3000 в параметр "URL-адрес веб-сайта" и оставив поле "Домены приложений" пустым. Как упоминалось в munsellj, убедитесь, что вы добавили платформу сайта.
Обратите внимание, что localhost - это специальная строка, которую позволяет FB. Если вы не настроили среду отладки под локальным хостом, вы должны будете подталкивать ее под этим именем, насколько я могу судить.
Иногда эта ошибка возникает для старого javascript sdk. Если вы сохраните файл локального javascript. Обновите его. Я предпочитаю загружать его из сервера facebook все время.
Отсутствие других ответов заключается в том, как разрешить localhost (или 0.0.0.0 или что-то еще) в качестве URL-адреса обратного вызова oauth. Вот объяснение. Как добавить приложение localhost: 3000 в Facebook для разработки
Другая причина, по которой это может произойти, - это отправить неправильное приложение. Это может произойти в раннем развитии, если у вас есть приложение для разработки и производственное приложение. Если вы скорректируете appId для dev и нажимаете на prod, это будет отображаться.