O Google Code é oferecido em: English - Español - 日本語 - 한국어 - Português - Pусский - 中文(简体) - 中文(繁體)
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.
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.
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.
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.