Opensocial-BR GTUG
19Jun/102

Biblioteca para acesso ao Orkut em PHP – 3legged OAuth orkut client

Post original do Blog do Robson Dantas

Hoje, gostaria de anunciar que consegui dedicar uma parte das minhas madrugadas desenvolvendo e ajudando um projeto opensource, que consegue se conectar ao Orkut. Para quem já conhece Opensocial, sabe que é possível desenvolver aplicativos para redes sociais e fazê-los rodar lá dentro. Mas e caso você queira fazer uso da rede social para promover seu aplicativo/site, sem ter necessariamente que produzir um aplicativo Opensocial ?

O Facebook, por exemplo, permite tal interação através do Facebook Connect, que é basicamente um conjunto de APIs para interagir com a rede, ex: mudar mensagem de status, postar mensagens no mural, buscar amigos, etc …

Até pouco tempo atrás, a única forma de interagir com o Orkut sem estar necessariamente logado dentro da rede, era usando o 2-legged OAuth que foi disponibilizado a partir da versão 0.8 do Opensocial via REST ou RPC - em poucas palavras, para ter acesso às informações do usuário por fora da rede social, o usuário deve ter um aplicativo seu escrito em Opensocial instalado no perfil. Como parte dos inúmeros processos de melhoria, o time do Orkut desenvolveu um projeto, chamado Orkut-os-client – baseado em 3legged OAuth, e que permite fazer acesso as informações dos usuários dentro do Orkut sem precisar de nenhum aplicativo instalado no perfil.

Mas nem tudo é uma maravilha: A API foi desenvolvida em Java, sendo que a grande maioria das pessoas usam PHP para o desenvolvimento. Depois de um certo tempo lendo usuários solicitando a API em outras linguagens, decidi migrar parte do código para a linguagem PHP, e pesquisando, consegui fazer algo simples e rápido.

A pergunta que você pode estar fazendo é “como simples e rápido” ? Bom, primeiro dei uma lida geral no código fonte da API em Java e descobri que todo o processo é um RPC Wrapper, e que as chamadas dos métodos da rede social são exatamente as mesmas usadas no Opensocial, ex: “messages.get” .

Com base nisso, fiz download da API já existente – desenvolvida pelos caras da Google, chamadaopensocial-php-client -  que possui implementação de 2-legged e 3-legged para uma grande parte das redes sociais.

Apliquei um patch, modificando as url’s de access token, além de alterar as chamadas JSON que são feitas ao servidor de RPC, e funcionou muito bem. Já há uma versão rodando que permite ler e gravar SCRAPS, além de pegar informações dos seus amigos.

Continuo trabalhando para dar suporte às outras funcionalidades: Álbum, activities, e outros.

O projeto foi disponibilizado no GoogleCode, e criei uma lista de discussão para os interessados no desenvolvimento. Caso queira participar, sua contribuição é bem vinda.

Site do projeto, no Google Code: Orkut-os-client-php

Grupo de discussão sobre a biblioteca

Enjoy!

Robson Dantas

31Oct/095

Simples exemplo de Opensocial com OAuth, usando templates e request com json

Bom dia pessoal!

Com o intuito de ajudar os desenvolvedores de aplicativos Opensocial para Orkut, resolvi escrever um pequeno exemplo, mostrando como fazer um aplicativo usando templates - que possibilita que seu aplicativo rode no profile do Orkut - fazendo chamadas para um servidor, trabalhando com OAUTH, assinando as mensagens, e retornando json.

É bem simples, mas com certeza vai dar uma visão ampla para que você possa criar em cima desse modelo.

Faça o download - Exemplo Opensocial, com templates, oauth, envio de post em PHP.

Em um próximo artigo, vou detalhar passo a passo o que foi feito.

Happy coding!