Страница регистрации Facebook - неверный 'client_id', когда вы не вошли в Facebook
Я сделал регистрационную форму на Facebook, которая работает с настраиваемыми полями и функциями, как я ожидаю, за исключением случаев, когда пользователь не вошел в Facebook при первом посещении формы.
В этой ситуации форма не отображается на экране и появляется следующая ошибка:
Невозможно загрузить регистрационную форму для этого идентификатора. Возможно, вы ранее заблокировали это приложение на Facebook. Перейдите в настройки конфиденциальности Facebook, чтобы разблокировать это приложение. (Ошибка: неверный 'client_id'.)
Теперь я уже знаю, что это обсуждалось на сайте, но решения, предлагаемые в других местах, не работают для меня, и я действительно хочу, чтобы это работало на основе решения XFBML, которое поддерживает Facebook (демонстрация здесь http://developers.facebook.com/docs/plugins/registration/)
Если вы выходите из Facebook, вы можете посетить тест моего кода, взятый непосредственно из примера facebook и едва ли измененный здесь: https://www.askanutritionist.com/fb.html
Кстати, песочница yes отключена в настройках приложения facebook, так как это обычное исправление, предложенное другими пользователями SO.
Спасибо за ваше время. Заметка; Я бы прокомментировал другие существующие вопросы по этой теме, но stackru не позволит мне (пока).
2 ответа
Просто чтобы подтвердить; Я никогда не исправлял это должным образом. Вместо этого я обошел вокруг и смог выполнить проверку javascript через Facebook SDK, чтобы увидеть, вошел ли пользователь в систему или нет, когда он впервые зашел на страницу, на которой есть форма регистрации в Facebook.
Я делаю перенаправление http, если они не вошли (или не авторизованы), и если они вошли позже на странице, которую я вызываю, чтобы инициировать форму facebook.
window.fbAsyncInit = function() {
FB.init({
appId : xxxx, // App ID
channelUrl : 'http:///xxxxx/fbchannel.php',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
// Additional initialization code here
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
// all ok!
//var uid = response.authResponse.userID;
//var accessToken = response.authResponse.accessToken;
} else if (response.status === 'not_authorized') {
window.location.href="create_account_with_facebook?authorizefirst";
} else {
window.location.href="create_account_with_facebook?loginfirst";
}
});
};
// Load the SDK Asynchronously
(function(d){
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.js";
ref.parentNode.insertBefore(js, ref);
}(document));
Убедитесь, что приложение, чей идентификатор вы используете, не ограничено демографически (например, по возрасту или стране) и не находится в режиме "песочницы".
Если он ограничен или находится в режиме "песочницы", пользователи, которые не вошли в систему и которые соответствуют примененным ограничениям (или для режима "песочницы", являются администраторами приложения), не смогут увидеть существование приложения или его подробностей, пока не войдут в систему.,