1

Я размещаю приложение Facebook в приложении Google, я должен убедиться, что пользователь вошел в facebook раньше всего.Как перенаправить пользователя на страницу входа в приложение Facebook

В настоящее время я могу показать кнопку входа в facebook с помощью fbxml, но я предпочитаю, чтобы пользователь был перенаправлен на страницу входа в Facebook, если он не был зарегистрирован, а затем вернулся на главную страницу моего приложения, таким образом, я может убедиться, что пользователь вошел в систему, прежде чем что-либо делать.

Я новичок в Facebook приложений, я прочитал here что я могу перенаправить пользователя на

https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL 

, чтобы отождествить его. Но использование GAE self.redirect(url) не работает, страница остается неизменной. Я надеялся, что я мог бы сделать что-то вроде этого в моем обработчике:

if u'signed_request' in self.request.POST: 
     facebook.load_signed_request(self.request.get('signed_request')) 
     if not facebook.user_id: 
      self.redirect("https://www.facebook.com/dialog/oauth?"+ 
          "client_id={0}&redirect_uri={1}" 
          .format(FACEBOOK_APP_ID, EXTERNAL_HREF)) 
      return 

, но, как я уже говорил ранее, это не работает.

+0

Переадресация не работает или есть проблемы с URL-адресом Facebook? –

+0

Вы проверили, что метод self.redirect действительно называется? – proppy

+0

Переадресация не работает и да, я уверен, что это называется –

ответ

3

Я предполагаю, что приложение «Facebook» означает приложение Canvas - что-то, что будет жить в https://apps.facebook.com/YOUR_NAMESPACE с точки зрения пользователя?

Если это так, вам нужно добавить перенаправление через Javascript, используя window.top, так как ваше приложение загружается в iframe. См. https://developers.facebook.com/docs/appsonfacebook/tutorial/ и найдите «верх», затем просмотрите пример в конце страницы.

+0

да, это именно то, что я имею в виду, я попытался добавить это: ' ' , но затем я получаю сообщение об ошибке при открытии страницы:« Произошла ошибка с [APP_NAME]. Повторите попытку позже. « –

+0

Эта ошибка отображается в окне Facebook? Если да, правильно ли вы установили домен в настройках приложения? – mrtom

+0

Кроме того, я сомневаюсь, что это проблема, но вы должны URL-кодировать ваш URL-адрес перенаправления – mrtom

0

Есть также хорошие примеры на Php Sdk, которые предоставляет facebook. Мне нравится пример with_js_sdk.php. Он работает легко и хорошо следовать. https://github.com/facebook/php-sdk http://developers.facebook.com/docs/reference/php/

Смежные вопросы