My favorites | Português | Sign in

Como usar o serviço de Usuários

O Google App Engine fornece diversos serviços úteis com base na infra-estrutura do Google, acessíveis aos aplicativos por meio das bibliotecas fornecidas no SDK. Um desses serviços é o serviço de Usuários, que permite que seu aplicativo integre-se às contas de usuário do Google. Com esse serviço, seus usuários podem usar as contas do Google que já possuem para entrar em seu aplicativo.

Vamos usar o serviço de Usuários para personalizar a saudação deste aplicativo.

Uso de usuários

Edite helloworld/helloworld.py e substitua o conteúdo pelo seguinte:

from google.appengine.api import users
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app

class MainPage(webapp.RequestHandler):
  def get(self):
    user = users.get_current_user()

    if user:
      self.response.headers['Content-Type'] = 'text/plain'
      self.response.out.write('Hello, ' + user.nickname())
    else:
      self.redirect(users.create_login_url(self.request.uri))

application = webapp.WSGIApplication(
                                     [('/', MainPage)],
                                     debug=True)

def main():
  run_wsgi_app(application)

if __name__ == "__main__":
  main()

Recarregue a página no navegador. Seu aplicativo redireciona você para a versão local da página de entrada do Google, adequada para testar seu aplicativo. Você pode digitar qualquer nome de usuário que quiser nesta tela, e seu aplicativo verá um objeto User falso com base nesse nome de usuário.

Quando seu aplicativo estiver sendo executado no Google App Engine, os usuários serão redirecionados à página de login das Contas do Google. Em seguida, eles são redirecionados novamente para o seu aplicativo, depois de fazerem login ou criarem uma conta com êxito.

A API de usuários

Vejamos mais detalhadamente os novos recursos:

user = users.get_current_user()

Se o usuário já fez login em seu aplicativo, get_current_user() retorna o objeto User para o usuário. Caso contrário, ele retorna None.

if user:
  self.response.headers['Content-Type'] = 'text/plain'
  self.response.out.write('Hello, ' + user.nickname())

Se o usuário fez login, uma mensagem personalizada é exibida, usando o apelido associado à conta do usuário.

else:
  self.redirect(users.create_login_url(self.request.uri))

Se o usuário não fez login, o webapp é informado para o navegador do usuário seja redirecionado para a tela de login da conta do Google. O redirecionamento inclui o URL para essa página (self.request.uri), para que o mecanismo de entrada da conta do Google envie o usuário de volta a este ponto depois de ele fazer login ou se inscrever para uma nova conta.

Para obter mais informações sobre a API de usuários, consulte a Referência de usuários.

Próximo passo...

Nosso aplicativo já pode cumprimentar os usuários visitantes usando seus nomes. Vamos adicionar um recurso que permitirá que os usuários cumprimentem uns aos outros.

Vá para Tratamento de formulários com o webapp.