API rest para OpenSocial do Orkut com ruby

A documentação da API rest do OpenSocial do orkut detalha muito bem as opções e formatos de retorno disponíveis porém é um tanto vaga sobre como fazer a autenticação necessária para usá-la. Basicamente lá é explicado os parâmetros a serem enviados e que o protocolo é o OAuth. Então detalho aqui como obter por exemplo os dados de um usuário apartir desta API.

Em primeiro lugar é preciso obter a consumer key e consumer secret de sua aplicação. Isso é feito gerando um token aqui: https://www.google.com/gadgets/directory/verify. Você deve colocar esse token dentro da tag content do xml descritor de sua aplicação e depois fazer a validação provando que é dono da aplicação. Com isso o Google irá lhe informar seu consumer key e consumer secret. Guarde eles com carinho.

Depois, com a gem oauth instalada você deverá executar um código semelhante ao exibido abaixo, com a premissa de que as variaveis consumer_key e consumer_secret estão preenchidas com os correspondentes à sua aplicação. E que a variável id é o id do usuário do orkut que você está querendo conhecer melhor.

  consumer = OAuth::Consumer.new(
    consumer_key,
    consumer_secret,
    :site => 'http://www.orkut.com',
    :scheme => :query_string,
    :http_method => :get
  )
   
  request = consumer.create_signed_request(:get,
    "/social/rest/people/#{id}/@self?xoauth_requestor_id=#{id}") 
  res = Net::HTTP.start('www.orkut.com', 80) do
    |h| h.request(request)
  end

  puts res.body

Referência: http://programandosemcafeina.blogspot.com

Orkut Lança Atualizações do Site

Eu sei que estou fugindo um pouco do Foco principal do site, mas é importante falar que a equipe de desenvolvedores do orkut apresentou hoje, (quinta-feira) sua nova versão.Segundo o o blog oficial Foram nove meses de projeto para a concepção do novo site.

O orkut agora esta utilizando o Google Web Toolkit(Framework Ajax da Google).

O maior objetivo é tornar a mais rápida, completa e intuitiva.

E como era no princípio, para ter acesso ao "novo" orkut, você precisa ser convidado.Existem duas formas para você conseguir um convite:

1. Acompanhe o blog do Danilo Miedi, nosso usuário símbolo da campanha pelo novo orkut, e participe das várias atividades oficiais que aparecerão por lá.

2. Encontre um amigo que já esteja usando a nova versão do orkut e peça um convite. Se você encontrar este ícone no perfil de um amigo, ao lado do nome dele, provavelmente seu amigo tem um convite disponível.

Confira abaixo alguns detalhes do novo orkut, e depois mais uma imagem de divulgação do novo design do site:

• Menos páginas e uma navegação mais rápida: a equipe concentrou as principais ações do orkut na sua página inicial. Por ela será possível bater-papo, ver vídeos e pesquisar a lista de amigos ou comunidades. Também será possível comentar conteúdos postados.

• Uma interface limpa e simples: foram reorganizadas as atividades mais importantes do orkut. As fotos estão maiores e as notificações e novidades ficaram fáceis de acessar. Além disso, as sugestões de novos amigos e as atualizações mais importantes estão mais próximas do topo da página.

• Maior personalização: além de mudar a cor, será possível adicionar na seção sobre mim um vídeo, aplicativos OpenSocial e muitas outras opções.

Arquitetura OpenSocial

A arquitetura de uma aplicação OpenSocial vai muito além do código. Deve ser levada em consideração o seu cliente (um brownser, por exemplo) e seu container (a rede social em questão). As redes sociais respondem diretamente ao seu aplicativo. Esse fluxo de informações esta representado na figura abaixo.

fluxo requisicoes opensocial

Isto significa que quando um cliente realiza requisições ao seu aplicativo, armazenado externamente, a rede social realizara essa chamada e irá "filtrar" as informações para depois entregar ao cliente.

Sua rede sócial pode ser hospedada em múltiplos servidores, ou armazenada inteiramente em seu container. Dependendo de como você implementa sua aplicação, será necessário também um processo de autenticação.

Existem atualmente 2 Arquiteturas para o desenvolvimento de Aplicações com a API OpenSocial, uma baseada no Cliente (API Javascript), e outra baseada no Servidor(API REST):

- API Cliente: Desenvolvimento utilizando a API OpenSocial Javascript, e foi a primeira API a ser lançada. É bem possível que se você estiver sendo guiado pelos exemplos do Google, para o orkut, você esteja utilizando a API Javascript. Ela basicamente funcionando realizando chamadas a rede social.

- API Rest: Recurso que foi adicionando ao OpenSocial em 2008, é uma API baseada em REST (Representation State Transfer). Esta API permite que você desenvolva aplicações que são executadas fora da Rede Social (seja um site, ou uma aplicação desktop), realizando diretamente ao container OpenSocial. Você pode criar a sua aplicação com a linguagem que você quiser, seja ela JAVA, PHP, Ruby, ou muitas outras. Basta realizar chamada e tratar os resultados.

Dica de Livro: Building OpenSocial Apps

Eu encontrei mais um livro sobre OpenSocial, e gostaria de compartilhar com vocês:
O nome do Livro é:

Building OpenSocial Apps
A field Guide to Working with the MySpace Plataform
Autores: Chris Cole, Chad Russel, Jessica Whyte

Para maiores informações sobre o livro acesse:
http://www.softpro.com/0-321-61906-4.html

Até mais.

Versão 0.3.0 do OSDE foi lançada

Foi lançada a versão 0.3.0 da OSDE (componente para desenvolvimento de aplicativos OpenSocial no Eclipse).

Alguns dos recursos que estão disponíveis na versão são:
The features of OSDE are the following:
. Suporte ao OpenSocial 0.9
. Atualiação de algumas bibliotecas para as versões mais recentes.
. Correções de Bugs

Você pode realizar a instalação automática das correções através do seu Eclipse, com o seguinte endereço: http://opensocial-development-environment.googlecode.com/svn/update-site...

Uma recomendação do Yochiro é que se caso você tenha a versão 0.3.0 Cadidate Release, você a desinstale, antes de instalar esta nova versão.

Para mais informações acesse o site do OSDE: http://code.google.com/p/opensocial-development-environment/

Divulgar conteúdo
Este site foi feito com Drupal, um sistema aberto de gerenciamento de conteúdo.