Guia do desenvolvedor: JavaScript

A API de dados do Blogger permite que aplicativos clientes visualizem e atualizem o Blogger conteúdo na forma de feeds da API de dados do Google.

O aplicativo cliente pode usar a API Blogger Data para criar novas postagens do blog, editar ou excluir postagens existentes e consultar postagens que correspondem a critérios específicos.

Além de fornecer alguns antecedentes sobre os recursos da API Data do Blogger, este documento apresenta exemplos de interações básicas da API Data usando a biblioteca de cliente JavaScript. Se você quiser saber mais sobre o protocolo subjacente que a biblioteca usa, consulte a seção Protocolo da este guia do desenvolvedor.

Conteúdo

Público-alvo

Este documento é destinado a programadores que desejam escrever código cliente JavaScript aplicativos que podem interagir com o Blogger. Ele oferece uma série de exemplos de interações básicas da API Data usando a biblioteca de cliente JavaScript.

Para informações de referência sobre a API Blogger Data, consulte o Guia de referência de protocolo. Este documento pressupõe que você compreende as ideias gerais por trás das APIs de dados do Google protocolo e o modelo de dados e fluxo de controle usados pelo cliente JavaScript biblioteca. Também pressupõe que você saiba programar em JavaScript.

Para informações de referência sobre as classes e os métodos fornecidos pela biblioteca de cliente, consulte a referência da API da biblioteca de cliente JavaScript.

Este documento foi elaborado para ser lido em ordem. cada exemplo se baseia em exemplos anteriores.

Termos de Uso

Você concorda em obedecer aos Termos de Uso da biblioteca de cliente JavaScript do Google ao usar a biblioteca de cliente JavaScript.

Sobre os ambientes com suporte

No momento, só oferecemos suporte a aplicativos clientes JavaScript executados em uma página da Web em um navegador. No momento, os navegadores compatíveis são o Firefox 1.5 e versões mais recentes e o Internet Explorer 6.0 e versões mais recentes.

A biblioteca-cliente JavaScript lida com toda a comunicação com o servidor. Se você é um desenvolvedor de JS experiente, pode estar pensando: "Mas sobre os mesmos política de origem?" A biblioteca de cliente JavaScript permite que o cliente envie Solicitações da API Google Data de qualquer domínio, mantendo-se em conformidade com o modelo de segurança do navegador.

Primeiros passos

Antes de poder programar um aplicativo cliente JavaScript, é preciso fazer algumas configurações para adquirir a biblioteca.

Como criar uma conta do Blogger

Você pode se inscrever em um uma conta do Blogger para fins de teste. O Blogger usa Contas do Google. Se você já tem uma, está tudo pronto.

Adquirir a biblioteca

Antes que o seu cliente possa usar a biblioteca-cliente, ele precisa solicitar a código da biblioteca de cliente do servidor.

Comece usando uma tag <script> na seção <head> do documento HTML para buscar o carregador da API AJAX do Google:

<script type="text/javascript" src="https://www.google.com/jsapi"></script>

Para adquirir a biblioteca de cliente da API Data do Google depois de buscar o loader, use a seguinte linha no código de configuração do JavaScript, que precisa ser chamada da seção <head> do documento HTML (ou de um arquivo JavaScript incluído usando uma tag <script> na seção <head> do documento HTML):

google.load("gdata", "1.x");

O segundo parâmetro para google.load() é a versão solicitada da biblioteca de cliente JavaScript.  Nosso esquema de numeração de versões é modelado de acordo com o usado pela API Google Maps. Estes são os possíveis números de versão e o que eles significam:

"1"
A penúltima revisão da versão principal 1.
"1.x"
A revisão mais recente da versão principal 1.
"1.s"
A revisão estável mais recente da versão principal 1. Ocasionalmente, declararemos uma determinada versão da biblioteca-cliente "estável,", com base nos comentários que recebemos dos desenvolvedores. No entanto, é possível que essa versão não tenha os recursos mais recentes.
"1.0", "1.1", etc
Uma versão específica da biblioteca, com um número de revisão principal e secundário especificado.

Depois de chamar google.load(), você precisa informar ao carregador para esperar até que a página termine de carregar e chamar seu código:

google.setOnLoadCallback(getMyBlogFeed);

Em que getMyBlogFeed() é uma função que vamos definir em um futuro deste documento. Use essa abordagem em vez de ter um manipulador onload anexado ao elemento <body>.

Como autenticar no serviço do Blogger

Você pode acessar feeds públicos e privados usando a API de dados do Blogger. Os feeds públicos não exigem autenticação, mas são somente leitura. Se você quiser modificar os blogs, seu cliente precisará se autenticar antes de solicitar feeds particulares.

A biblioteca de cliente JavaScript usa o sistema de autenticação AuthSub. Para mais informações sobre autenticação com APIs de dados do Google em geral, consulte a autenticação Documentação.

Autenticação via proxy do AuthSub

A autenticação por proxy BYOL é usada por aplicativos da Web que precisam autenticam os usuários nas Contas do Google. O operador do site e o código do cliente não têm acesso ao nome de usuário e à senha do usuário do Blogger. Em vez disso, o cliente recebe tokens AuthSub especiais que permitem que ele aja em nome de um usuário específico.

Aqui está uma breve visão geral do que acontece durante o processo de autenticação de um cliente JavaScript baseado na Web:

  1. O aplicativo cliente chama o método google.accounts.user.login() fornecido pela biblioteca de cliente, passando um "escopo" valor que indica qual serviço do Google usar. Para o Blogger, o escopo é "http://www.blogger.com/feeds/":
  2. A biblioteca de cliente envia o navegador para a página "Solicitação de acesso" do Google, onde o usuário pode inserir as credenciais para fazer login no serviço.
  3. Se o usuário fizer login, o sistema AuthSub vai enviar o navegador de volta ao URL do cliente da Web, transmitindo o token de autenticação.
  4. A biblioteca de cliente JavaScript armazena o token em um cookie e retorna para a função do aplicativo cliente que chamou google.accounts.user.login():
  5. Quando o aplicativo cliente posteriormente chama métodos da biblioteca cliente que interagir com o Blogger, a biblioteca cliente anexa automaticamente o token ao todas as solicitações.

Observação: para que a biblioteca de cliente JavaScript faça solicitações autenticadas do Blogger em um navegador da web, sua página deve conter uma imagem hospedado no mesmo domínio da sua página. Pode ser qualquer imagem, até mesmo uma imagem transparente de um único pixel, mas precisa haver uma imagem na página. Se você quiser que a imagem não apareça na sua página, use o style da tag <img> para posicionar a imagem fora do na área de renderização. Por exemplo: style="position:absolute; top: -1000px;"

Confira o código do aplicativo cliente que processa o login. Vamos chamar setupMyService() usando outro código depois.

function logMeIn() {
  scope = "http://www.blogger.com/feeds/";
  var token = google.accounts.user.login(scope);
}

function setupMyService() {
  var myService =
    new google.gdata.blogger.BloggerService('exampleCo-exampleApp-1');
  logMeIn();
  return myService;
}

Dica: recomendamos que você forneça um botão de login ou outro mecanismo de entrada do usuário para solicitar que o usuário inicie o login e o processamento manual. Se, em vez disso, você chamar google.accounts.user.login() imediatamente após o carregamento, sem aguardando a interação do usuário, a primeira coisa que ele vê na chegada ao site sua página é uma página de login do Google. Se o usuário decidir não fazer login, o Google não vai direcionar o usuário de volta à sua página. Então, do ponto de vista do usuário, ele tentou visitar sua página, mas foi rejeitado e nunca mais voltou. Esse cenário pode ser confuso e frustrante para os usuários. No código de exemplo deste documento, vamos chamar google.accounts.user.login() imediatamente após o carregamento para manter o exemplo simples, mas não recomendamos essa abordagem para aplicações de cliente reais.

Não é necessário fazer nada com a variável token. A biblioteca de cliente rastreia o token, então você não precisa fazer isso.

Observação: quando você cria um novo BloggerService objeto, a biblioteca cliente chama um método chamado google.gdata.client.init(), que verifica se o navegador O cliente está em execução no é suportado. Se houver um erro, a biblioteca de cliente vai mostrar uma mensagem de erro para o usuário. Se você quer lidar com esse tipo de erro poderá chamar explicitamente google.gdata.client.init(handleInitError) antes de criar o serviço, em que handleInitError() é a função. Se um erro de inicialização ocorrer, a função vai receber um objeto Error padrão. Você pode fazer o que quiser com esse objeto.

O token permanece válido até que você o revogue chamando google.accounts.user.logout():

function logMeOut() {
  google.accounts.user.logout();
}

Se você não chamar logout(), o cookie que armazena o dura dois anos, a menos que o usuário o exclua. O cookie é retido entre as sessões do navegador. Assim, o usuário pode fechar e reabrir o navegador. e voltar ao seu cliente e ele ainda estará conectado.

No entanto, há determinadas circunstâncias incomuns em que um token pode se tornar durante uma sessão. Se o Blogger rejeitar um token, o cliente deverá lidar com a condição de erro chamando logout() para remover o cookie contendo o token atual e, em seguida, chamando login() novamente para para adquirir um novo token válido.

Há outros dois métodos do AuthSub que podem ser úteis em vários contextos:

  • google.accounts.user.checkLogin(scope) informa se se o navegador tem atualmente um token de autenticação para a do projeto.
  • google.accounts.user.getInfo() fornece informações detalhadas o token atual para uso em depuração.

Para mais detalhes sobre como usar JavaScript para interagir com NGINX, incluindo informações sobre gerenciamento de tokens, checkLogin() e getInfo(), consulte a seção Usar " mensageiro " Autenticação com a biblioteca de cliente JavaScript documento.

Voltar ao início