Biblioteca para acesso ao orkut em PHP – orkut os client php 3legged
Ufa, faz um bom tempo que não escrevo no blog. A vida no trabalho não está fácil!
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, chamada opensocial-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
Popularity: 2%







TWITTER
[...] Post original do Blog do Robson Dantas [...]
Muito bom cara.
Voce sabe se existe alguma documentação da API? Tipo as URLs as respostas.
Porque eu trabalho com Ruby On Rails e ainda não achei nada sobre isso.
Obrigado!
Marcos Nogueira
Robson,
Estou implementando isso em Ruby, buscando os tokens e autorizando tudo na mão. Até aí está tudo ok. Consigo pegar o Access Token autorizado.
O problema é na hora de fazer o request pra postar um scrap. Aliás, estou mandando o mesmo body que vc manda no primeiro exemplo da api.
o erro é o seguinte:
[{"id":"createMessage","error":{"message":"unauthorized: Authentication failed.","code":401}},{"id":"getScraps","error":{"message":"unauthorized: Authentication failed.","code":401}}]{“message”:”badRequest: Invalid input – -1″,”code”:400}
vc chegou a passar por isso?
valeu!
Sim, já passei e é um bug do orkut, relacionado a encoding.
Estou te mandando um email, fiz commit da lib recentemente e se puder, faça parte do grupo.
http://code.google.com/p/orkut-os-client-php/
Vou entrar no grupo… não achei absolutamente nada relacionado a este erro na internet. O que é exatamente esse bug? como vc resolveu?
Parabéns cara!
Olha, não sei quem você é, não lhe conheço, nunca acessei esse blog mais uma coisa eu tenho certeza, o mundo não seria o mesmo se não existisse pessoas como voçê!
Vou tentar ajudar e participar do grupo de discussão, essa biblioteca irá me ajudar muito concerteza!
Vou baixar agora!!!
Abraços
Matheus Matos