Как перенаправить пользователя на страницу входа в приложении Facebook - PullRequest
1 голос
/ 09 января 2012

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

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

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

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

но, как я сказал ранее, это не работает.

Ответы [ 2 ]

3 голосов
/ 09 января 2012

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

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

0 голосов
/ 22 февраля 2012

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

...