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

Bookmarksbookmark bookmark bookmark bookmark bookmark bookmark

Popularity: 5%

8 Comments so far

  1. Biblioteca para acesso ao Orkut em PHP – 3legged OAuth orkut client | Opensocial-BR GTUG on June 19th, 2010

    [...] Post original do Blog do Robson Dantas [...]

  2. Marcos Nogueira on July 19th, 2010

    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

  3. Lucca Mordente on August 5th, 2010

    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!

  4. admin on August 5th, 2010

    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/

  5. Lucca Mordente on August 5th, 2010

    Vou entrar no grupo… não achei absolutamente nada relacionado a este erro na internet. O que é exatamente esse bug? como vc resolveu?

  6. Matheus Matos on August 20th, 2010

    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

  7. Leonardo on September 16th, 2010

    Parabéns cara, está bem legal o projeto, mas tive alguns problemas…

    o primeiro é que de vez em quando ao autenticar ele fica dando failed… ai se vc tentar umas 2, 3 vezes seguidas ele autentica.

    o segundo, é que estou enviando um bloco de 30 scraps… ai tudo bem… o orkut solicita o captcha.. e eu envio..

    ai vou la no orkut ver os scraps, e maravilha estão lá… mas.. em algumas vezes ele envia 3 scraps… e depois os 30 ficando duplicado esses 3…

    tem alguma idéia?

    Abraços
    Leonardo.

  8. Anderson Ferreira on November 20th, 2010

    Parabéns de verdade cara. Vai ajudar muuuuuuuito a todos nós.

Vale Presente