Guia do desenvolvedor do orkut

  • Post author:
  • Post category:Sem categoria

(API do OpenSocial v0.7)

O orkut foi atualizado para oferecer suporte para a versão 0.7 da API do OpenSocial, e este documento foi modificado para refletir as alterações dessa atualização. As seções estão marcadas como Novo! ou Atualizado! para ajudá-lo a identificar as práticas de programação que foram alteradas desde a última versão.

Familiarização com os aplicativos no ambiente do orkut

Cada recipiente do OpenSocial proporcionará uma experiência de desenvolvimento diferente. Esta seção irá familiarizá-lo com o processo de desenvolvimento de aplicativos para serem utilizados no orkut.

Terminologia dos aplicativos do orkut

Este artigo empregará os termos a seguir para descrever elementos e tópicos relacionados à experiência de desenvolvimento do orkut.

Fluxo de atividades Feed de dados que contém atividades para uma pessoa.
Aplicativo Programa de terceiros que utiliza APIs do Gadgets e do OpenSocial para ampliar a experiência do orkut.
Definição de aplicativo Arquivo XML que define o aplicativo. A sintaxe se baseia no XML do gadget, também conhecido como “especificação do gadget”.
Diretório de aplicativos Lista de aplicativos disponíveis.
Página de configurações de aplicativos Lista de aplicativos instalados pelo usuário. Permite ao usuário adicionar e remover aplicativos.
Visualização de tela Novo! Visualização em tela inteira de um aplicativo.
Barra de navegação esquerda A lista de links no lado esquerdo das páginas do orkut. A barra de navegação esquerda relaciona links para o usuário conectado (na página inicial do orkut) ou para um amigo (ao ver o perfil do amigo).
Link de navegação esquerdo Um link na barra de navegação esquerda. Esses links podem ser para seções diferentes do orkut (por exemplo, perfil) ou para uma página de tela de um aplicativo OpenSocial.
Visualização de perfil Novo! Visualização de um aplicativo no perfil de um usuário
Visualização Novo! O local no qual um aplicativo é exibido. No orkut, os aplicativos podem ser exibidos nas visualizações de tela ou de perfil. As visualizações eram chamadas de Superfícies na versão 0.6.

Anatomia de um aplicativo do orkut

Antes de desenvolver aplicativos para o orkut, é útil familiarizar-se com a nova plataforma de aplicativos do orkut. Um guia útil é o artigo “Anatomia de um aplicativo do orkut“, que serve de guia visual de todas as melhorias pelas quais o orkut passou para hospedar aplicativos.

Criação de seu primeiro aplicativo do orkut

Se este for seu primeiro aplicativo OpenSocial, execute as etapas listadas no Tutorial do OpenSocial para o orkut para se familiarizar com a API do OpenSocial. Este tutorial abrange as etapas necessárias para desenvolver um aplicativo simples para presentear utilizando a API do OpenSocial.

Novo! Uso do Google Gadget Editor para hospedar o aplicativo

Se você não tiver acesso a um servidor para armazenar os arquivos XML do gadget, o Google Gadget Editor é uma ótima ferramenta de edição rápida e armazenamento de gadgets. Para criar rapidamente um aplicativo “Hello World”, conecte-se usando uma conta do Google (caso contrário, não será possível salvar o gadget) e cole o código a seguir no editor de gadgets:

<?xml version="1.0" encoding="UTF-8" ?>
<Module>
  <ModulePrefs title="Hello World!">
    <Require feature="opensocial-0.7" />
  </ModulePrefs>
  <Content type="html">
    <![CDATA[
      Hello, world!
    ]]>
  </Content>
</Module>

Depois disso, abra o arquivo XML do aplicativo clicando no nome do arquivo, no canto superior direito do editor.

Mostra o link para o arquivo XML do gadgetEsse procedimento abrirá o XML do aplicativo no navegador. O URL desse arquivo é necessário para a instalação do aplicativo, realizada na próxima seção.

Mostra o XML do aplicativo visualizado no Firefox

O modo de visualização do Google Gadget Editor não funciona com aplicativos sociais. Para ver como o programa funciona no orkut, obtenha o URL do aplicativo conforme a descrição acima e siga as instruções da próxima seção.

Atualizado Instalação do aplicativo no orkut

Os aplicativos devem ser executados dentro de um recipiente para acessarem os dados da rede social. O orkut atualmente oferece uma sandbox de desenvolvedor, na qual é possível acessar as APIs do OpenSocial e outros recursos novos. Se não tiver acesso a http://sandbox.orkut.com (ou seja, se você for redirecionado para http://www.orkut.com ao tentar acessar a sandbox), solicite a autorização da sua conta do orkut como desenvolvedor. Como a sandbox do orkut só retorna dados sobre os amigos que também estão autorizados a participar da sandbox, é provável que você queira ser amigo de outros desenvolvedores para obter dados de teste para trabalhar. Esta conversa no fórum de desenvolvedores do OpenSocial e esta comunidade do orkut são bons lugares para aumentar sua rede pessoal de amigos.

Mostra o link para adicionar aplicativosDentro da sandbox do orkut, navegue para a página de aplicativos clicando no link “adicionar aplicativos”, na barra de navegação esquerda do orkut, ou acessando http://sandbox.orkut.com/MyApps.aspx.

A lista “Meus aplicativos” provavelmente estará vazia, se você estiver executando exemplos pela primeira vez, mas será exibido um campo marcado como “adicionar um aplicativo direto pelo URL:”.

Mostra a seção Adicionar aplicativo da página de aplicativosCole o URL do aplicativo nesse campo e pressione o botão “adicionar aplicativo”.

Novo! Você será transferido para a página de informações do aplicativo. Nesta página, é possível ver se outros usuários avaliaram ou deixaram comentários sobre o aplicativo. Observe o botão “adicionar aplicativo”. Ao pressionar este botão, você tentará adicionar o aplicativo ao seu perfil.

Mostra a página de informações do aplicativoO orkut carregará a página “Autorização de aplicativo”. Estão listados nessa página os privilégios que você concede ao aplicativo ao instalá-lo. Atualmente, são eles:

1.) O aplicativo tem acesso às informações do seu perfil e à sua lista de amigos. 2.) O aplicativo terá um link na barra de navegação esquerda. 3.) O aplicativo pode inserir um gadget na página do seu perfil. 4.) OPCIONAL - O aplicativo pode postar no seu fluxo de atividades.Alguns privilégios devem ser concedidos para que o aplicativo funcione, mas também é possível optar por conceder outras permissões, como a capacidade de postar no fluxo de atividades. Marque as caixas ao lado das permissões opcionais que você deseja conceder ao aplicativo.

Para conceder esses privilégios e instalar o aplicativo no seu perfil, clique em “adicionar aplicativo”. Você verá uma amostra do aplicativo listada na página e um link para o aplicativo na barra de navegação esquerda.

Mostra o aplicativo recém-instalado na página de aplicativos e na barra lateralNesse momento, clique no link “perfil” da barra de navegação esquerda para ver o aplicativo em execução na visualização de perfil do orkut. Você também pode clicar no nome do aplicativo na barra de navegação para ser transferido diretamente para a visualização de tela do aplicativo.

Novo! Se adicionar vários aplicativos, você perceberá o aparecimento de setas ao lado dos nomes de cada um deles na visualização “Meus aplicativos”. Clique nessas setas para alterar a ordem dos aplicativos no perfil. Somente os três primeiros aplicativos aparecem no perfil. Por isso, coloque no início dessa lista os aplicativos que você deseja que apareçam no perfil.

Mostra mais de três aplicativos instalados

Atualizado Para evitar o cache de XML em aplicativos do orkut

O orkut armazena o XML do aplicativo OpenSocial em cache para minimizar o número de vezes que é necessário procurar cada arquivo, economizando largura de banda e reduzindo o tempo de espera do usuário. O armazenamento em cache é ótimo para os casos em que muitos usuários solicitam o aplicativo, mas pode atrapalhar durante o desenvolvimento do aplicativo, quando você deseja ver cada alteração a cada atualização do código.

Felizmente, é possível desativar esse mecanismo de armazenamento em cache anexando &bpc=1 ao URL de qualquer perfil ou página de tela de aplicativo. Esse parâmetro de “desvio de cache” instrui o orkut a obter do servidor uma versão atual do XML do gadget, e não a versão que está no cache.

Por exemplo, se for exibir:

http://sandbox.orkut.com/Application.aspx?uid=XXXXXXXXXXXX&appId=XXXXXXXX

É possível exibir a versão que ainda não foi armazenada em cache navegando até:

http://sandbox.orkut.com/Application.aspx?uid=XXXXXXXXXXXX&appId=XXXXXXXX&bpc=1

Observe que o parâmetro bpc=1 só desativa o armazenamento em cache do XML do aplicativo, mas não afeta o armazenamento em cache que ocorrerá se você criar links para arquivos JavaScript externos ou usar chamadas gadgets.io.makeRequest. O wiki opensocial-resources contém um método para evitar o armazenamento em cache makeRequest que pode ser útil neste último caso.

Esteja ciente de que os usuários que não exibirem as páginas usando o parâmetro &bpc=1 só verão as alterações atualizadas quando o orkut atualizar o cache. Normalmente, isso deve acontecer dentro de uma hora após as alterações serem salvas.

Aplicativos OpenSocial

Agora que você aprendeu os fundamentos de instalação e atualização de aplicativos, aqui vão algumas dicas e truques para você desenvolver aplicativos sociais robustos para o orkut.

Os aplicativos OpenSocial são um novo tipo de aplicativo, baseados na tecnologia de gadgets, mas ampliados para interagir com dados sociais obtidos de um site (também chamado de recipiente) que oferece suporte para a API do OpenSocial. O orkut é um exemplo de recipiente do OpenSocial, e esta seção se concentra nos aspectos de desenvolvimento do trabalho com aplicativos OpenSocial, especificamente no ambiente do orkut.

Atualizado Parâmetros de string de consulta

O orkut oferece parâmetros de string de consulta que fornecem dados adicionais sobre o contexto em que o aplicativo está em execução. Esses parâmetros podem ser analisados manualmente, utilizando window.location.href, ou é possível utilizar a função de conveniência de gadgets gadgets.util.getUrlParameters(). Aqui está uma lista de parâmetros disponíveis e exemplos de valores:

Nome Como recuperar Exemplo de valor
País gadgets.util.getUrlParameters()[“country”] EUA
Idioma gadgets.util.getUrlParameters()[“lang”] en-US
ID do proprietário gadgets.util.getUrlParameters()[“gadgetOwner”] 12345678901234567890
ID do visualizador [1] gadgets.util.getUrlParameters()[“gadgetViewer”] 12345678901234567890
URL pai gadgets.util.getUrlParameters()[“parent”] http://sandbox.orkut.com
URL do gadget gadgets.util.getUrlParameters()[“url”] http://example.com/gadget_specification.xml
Nome de visualização gadgets.util.getUrlParameters()[“view”] tela
Parâmetros de visualização gadgets.util.getUrlParameters()[“view-params”] {“foo”:12345,”bar”:”Bar value”}

[1] Só está disponível se o visualizador tiver o gadget instalado.

Atualizado Determinação da visualização atual do aplicativo

No orkut, o aplicativo pode ser exibido nas visualizações de tela e de perfil. A maneira mais fácil de obter a visualização atual é incluir o recurso “visualizações” nas preferências do módulo do aplicativo:

  <ModulePrefs title="Views example">
    <Require feature="views" />
  </ModulePrefs>

Quando o recurso de visualizações é incluído, é possível obter a visualização atual chamado a função gadget.util.getCurrentView() a seguir. Esse procedimento atribui um objeto gadgets.views.View à variável current_view. Consulte Visualizações disponíveis no orkut para obter uma relação de visualizações que podem ser retornadas para esta chamada.

O exemplo a seguir demonstra como obter a visualização atual e executar programas de forma condicional com o valor retornado:

  function getViewName() {
    return gadgets.views.getCurrentView().getName();
  }

  if (getViewName() == "canvas") {
    /* Do canvas specific stuff here */
  }

  if (getViewName() == "profile") {
    /* Do profile specific stuff here */
  }

Atualizado Visualizações disponíveis no orkut

Obtenha os objetos View disponíveis chamando a função gadgets.views.getSupportedViews().

  var supported_views = gadgets.views.getSupportedViews();

O objeto retornado pela chamada getSupportedViews contém objetos gadgets.views.View representando todas as visualizações disponíveis no orkut, indexadas pelo nome da visualização.

Atualmente, são elas:

Nome Código para obter Único gadget visível
tela supported_views[“canvas”] true
perfil supported_views[“profile”] false
padrão supported_views[“default”] false

Cada visualização corresponde a uma página diferente do orkut:

  • profile corresponde a uma visualização de perfil de um usuário. URLs do perfil do tipo
    http://sandbox.orkut.com/Profile.aspx?uid=#####
  • canvas corresponde à visualização maximizada de um aplicativo. URLs de tela do tipo
    http://sandbox.orkut.com/Application.aspx?uid=#####&appId=#####
  • default não corresponde a nenhuma visualização do orkut. Essa visualização é retornada para compatibilidade com o recurso diversas seções de conteúdo da especificação do gadget. Você não deve utilizar essa visualização para navegação.

Além de solicitar uma visualização pelo nome, também é possível obter uma visualização utilizando um objeto ViewType. Isso permite obter um tipo de visualização com propriedades específicas sem fazer referência à visualização pelo nome.

A tabela a seguir mostra como os objetos ViewType podem ser utilizados e para quais visualizações eles são mapeados no orkut:

Nome Código para obter Mapeado no orkut para
DASHBOARD supported_views[gadgets.views.ViewType.DASHBOARD] perfil
FULL_PAGE supported_views[gadgets.views.ViewType.FULL_PAGE] tela
POPUP N/D N/D [1]

[1] POPUP não corresponde a nenhuma visualização do orkut.

Atualizado Navegação para outra visualização

Se você deseja fornecer links para outras visualizações, é necessário transferir um objeto gadgets.views.View para o método gadgets.views.requestNavigateTo(). É possível optar por utilizar um dos objetos retornados pela chamada getSupportedViews() descrita em Visualizações disponíveis no orkut. O exemplo de código a seguir demonstra este método:

  function navigateTo(dest) {
    var supported_views = gadgets.views.getSupportedViews();
    gadgets.views.requestNavigateTo(supported_views[dest]);
  };

  /**
   * When called, this method asks the container to switch to the canvas
   */
  function gotoCanvas() {
    navigateTo("canvas");
  };

  /**
   * When called, this method asks the container to switch to the profile
   */
  function gotoProfile() {
    navigateTo("profile");
  };

Uma alternativa é criar um novo objeto View manualmente e utilizar esse código para iniciar a navegação. O exemplo de código a seguir mostra a criação de um novo objeto gadgets.views.View e sua transferência para o método gadgets.views.requestNavigateTo():

  /**
   * When called, this method asks the container to switch to the canvas
   */
  function gotoCanvas() {
    var canvas_view = new gadgets.views.View("canvas");
    gadgets.views.requestNavigateTo(canvas_view);
  };

  /**
   * When called, this method asks the container to switch to the profile
   */
  function gotoProfile() {
    var profile_view = new gadgets.views.View("profile");
    gadgets.views.requestNavigateTo(profile_view);
  };

Atualizado Obtenção do ID do aplicativo

É possível obter o número do ID do aplicativo no orkut usando a seguinte chamada:

  var application_id = gadgets.util.getUrlParameters()["gadgetId"];

Após executar o snippet acima, application_id conterá o mesmo valor que o parâmetro appId no URL do aplicativo no orkut.

Atualizado Transferência de dados para o aplicativo usando requestNavigateTo()

Se estiver utilizando as chamadas gadgets.views.requestNavigateTo(), você pode fornecer um parâmetro opcional contendo dados a serem transmitidos para a próxima página.

O código a seguir transfere duas variáveis: foo e bar para a superfície de tela do aplicativo atual:

  function gotoCanvas(params) {
    var canvas_view = new gadgets.views.View("canvas");
    gadgets.views.requestNavigateTo(canvas_view, params);
  };

  var my_params = {
    foo : 12345,
    bar : "Bar value"
  };

  gotoCanvas(my_params);

Você perceberá que, após a navegação, a URL será algo do tipo:

http://sandbox.orkut.com/Application.aspx?appId=xxxxxx&uid=xxxxxx&appParams=%7B%22foo%22%3A12345%2C%22bar%22%3A%22Bar%20value%22%7D

Na visualização de tela, verifique estes valores com o código a seguir:

  var prefs = gadgets.views.getParams();
  var foo = prefs["foo"];
  /* foo contains 12345 */

  var bar = prefs["bar"];
  /* bar contains "Bar value" */

Cuidado! No orkut, a visualização de perfil pode conter mais de um aplicativo, o que impossibilita o direcionamento de dados para um aplicativo específico utilizando a API do OpenSocial 0.7. Portanto, essa é a única maneira de transferir dados para a visualização de tela de um aplicativo. Os dados transferidos para a visualização de perfil serão ignorados.

AtualizadoTransferência de dados para o aplicativo usando a string de consulta

Existem casos em que poderá ser necessário transferir dados para a visualização de tela do aplicativo a partir da string de consulta. O orkut aceita um parâmetro especial denominado “appParams”, que pode ser utilizado para transferir dados de parâmetro para o aplicativo. Por exemplo, ir para o URL

http://sandbox.orkut.com/Application.aspx?appId=xxxxxxxxxxxx&appParams=%7B%20%22hello%22%20%3A%20%22hi%22%20%7D

(em que xxxxxxxxxxxx é o número de ID do aplicativo) encaminhará um parâmetro denominado hello com o valor hi para o aplicativo. É possível obter este parâmetro da seguinte maneira:

  var querydata = gadgets.views.getParams();
  var hello = querydata["hello"];
  /* hello now contains the value "hi" */

%7B%20%22hello%22%20%3A%20%22hi%22%20%7D representa uma versão codificada como URL de um objeto JSON codificado, que é o formato em que o orkut espera que o valor appParams esteja. Se você desejar personalizar a codificação de URLs para transferir dados para os aplicativos, será necessário definir um objeto JSON e codificar esses dados para serem transferidos como parâmetro de string de consulta para o aplicativo.

Por exemplo, para transferir as variáveis foo com o valor 12345 e bar com o valor "Bar value", primeiro coloque esses valores em um objeto:

  var data = { "foo" : 12345,
               "bar" : "Bar value" };

Para converter isso em uma string JSON, é possível utilizar a função gadgets.json.stringify ou qualquer outra biblioteca JSON.

  var json_data = gadgets.json.stringify(data);

json_data conterá o valor {"foo":12345,"bar":"Bar value"} após executar os dois snippets de código anteriores. Para adicionar códigos de escape a esse valor para uso em uma string de consulta, utilize a função JavaScript encodeURIComponent:

  var url_data = encodeURIComponent(json_data);

url_data conterá o valor %7B%22foo%22%3A12345%2C%22bar%22%3A%22Bar%20value%22%7D após executar os snippets anteriores. Agora, é possível utilizar esse valor no parâmetro de string de consulta appParams para transferir os dados para o aplicativo:

  http://sandbox.orkut.com/Application.aspx?appId=xxxxxxxxxxxx&appParams=%7B%22foo%22%3A12345%2C%22bar%22%3A%22Bar%20value%22%7D

Este método é mais difícil de utilizar que o método requestNavigateTo() descrito em Transferência de dados para o aplicativo usando requestNavigateTo(), mas os links gerados desta forma podem ser exibidos em sites externos ou em entradas de fluxo de atividades.

Obtenção do UID do orkut de um usuário

Há situações em que é necessário obter o UID do orkut de uma pessoa, que é diferente do número de ID do OpenSocial dessa pessoa. Por exemplo, o UID do orkut pode ser utilizado para gerar um link para uma página de tela no contexto de outro usuário. Obtenha o UID do orkut analisando o URL do perfil do usuário e extraindo o parâmetro de UID:

Cuidado! Este método é específico para o orkut e não pode ser aplicado em outros recipientes do OpenSocial. Não utilize este método, a menos que o aplicativo precise desses dados para funcionalidades exclusivas do orkut.

  function request() {
    var req=opensocial.newDataRequest();
    req.add(req.newFetchPersonRequest("VIEWER"), "viewer");
    req.send(response);
  };

  function response(data) {
    var viewer = data.get("viewer").getData();
    var profile_url = viewer.getField(opensocial.Person.Field.PROFILE_URL);
    var regex = /uid=([^&#]+)/;
    var result = profile_url.match(regex);
    if (result.length == 2) {
      var uid = result[1];
      /* uid now contains the viewer's orkut UID */
    } else {
      /* there was a problem getting the UID */
    }
  };

  request();

A variável uid conterá um valor que poderá ser utilizado para construir links para uma tela de aplicativo. Consulte Criação de links para páginas dentro do aplicativo para obter mais informações.

Atualizado Criação de links para páginas dentro do aplicativo

É possível combinar algumas dessas técnicas para criar URLs que direcionam para diferentes páginas no aplicativo. Imagine que você pretenda fornecer um link para uma página “quem sou eu” no aplicativo. Primeiro, será necessário gerar dinamicamente um link do tipo:

  http://sandbox.orkut.com/Application.aspx?appId=XXXXXXXX&uid=YYYYYYYY&appParams=%7B%22page%22%3A%22about%22%7D

em que XXXXXXXX é o ID do aplicativo (consulte Obtenção do ID do aplicativo) e YYYYYYYY é o UID do orkut da pessoa para a qual você deseja criar um link (consulte Obtenção do UID do orkut de um usuário). É possível construir URLs nesse formato da seguinte maneira:

  function makeLink(page, app_id, uid) {
    return [ gadgets.util.getUrlParameters()["parent"],
             "/Application.aspx?appId=",
             app_id,
             "&uid=",
             uid,
             "&appParams=%7B%22page%22%3A%22",
             page,
             "%22%7D"].join("");
  };

  /* stored_app_id should be initialized to the application ID - Check the
   * "Obtaining the application's ID" section for details on
   * obtaining this.
   * stored_uid should be initialized to the user's orkut UID - Note that
   * is _not_ the same as the opensocial ID number!  Check the
   * "Getting a user's orkut UID" section for details on
   * obtaining this. */

  var about_url = makeLink("about", stored_app_id, stored_uid);

Esses links podem ser impressos no fluxo de atividades de um usuário ou até mesmo em um site externo.

Caso você não deseje gerar um URL, mas queira apenas redirecionar um usuário para a página “quem sou eu” quando ele utilizar seu aplicativo, chame gadgets.views.requestNavigateTo() com dados de parâmetro adicionais:

  function gotoPage(to_page) {
    var canvas_view = new gadgets.views.View("canvas");
    var params = {};
    params["page"] = to_page;
    gadgets.views.requestNavigateTo(canvas_view, params);
  };

  gotoPage("about");

No aplicativo, ative o valor do parâmetro page para escolher qual página exibir:

  var page = gadgets.views.getParams()["page"]; 

  if (page == "about") {
    renderAboutPage();
  } else {
    renderNormalPage();
  }

Este código funcionará independentemente do método escolhido para transferir o parâmetro page para o aplicativo.

Novo! Fluxos de atividades

Os fluxos de atividades permitem que os desenvolvedores enviem notificações para os amigos de um usuário sobre ações que o usuário executou ao interagir com um aplicativo do orkut. Os fluxos de atividades são exibidos como “atualizações” na interface com o usuário do orkut. Para exibir as atualizações dos seus amigos, visite http://sandbox.orkut.com/Notifications.aspx. Para exibir suas atualizações, visite http://sandbox.orkut.com/MyUpdates.aspx.

Novo! Políticas de fluxo de atividades do orkut

Aplicativos são extensões do perfil de um usuário. As políticas de fluxo de atividades do orkut são, portanto, as mesmas de outras partes do site, como fotos, página de recados e campos do perfil. A lista a seguir mostra quando as chamadas de requestCreateActivity funcionam e não funcionam no orkut:

  • As atividades podem ser postadas quando os usuários estão interagindo com um aplicativo em execução no próprio perfil. A entrada do fluxo de atividades resultante será postada no fluxo de atividades do proprietário.
  • As atividades não serão postadas quando um usuário interagir com aplicativos nos perfis dos amigos ou quando os amigos interagirem com aplicativos no perfil do proprietário.

As entradas do fluxo de atividades aparecerão:

  • Na página inicial do usuário e na página “ver mais”. A lista de atualizações contém entradas dos amigos do usuário. Esses eventos são filtrados por ordem de importância e o usuário pode optar por filtrar eventos por grupos de amigos. [1]
  • A página do perfil do usuário. Esta lista contém as atualizações do usuário.[2]

[1] Atualmente, o orkut não oferece suporte para grupos de amigos ou classificação de atualizações por ordem de importância. Esses recursos estão sendo providenciados.
[2] Os eventos não são listados nas páginas de perfil do orkut atualmente. Esse recurso está sendo providenciado.

A tabela a seguir mostra quais eventos aparecerão em quais locais:

Tipo de evento Página inicial e página “ver mais” Página do perfil do usuário
Eventos nativos Foto, vídeo, status, depoimento e atualizações de campos importantes do perfil Foto, vídeo, status, depoimento e atualizações em qualquer campo do perfil
Instalação e desinstalação de aplicativos Não Sim
Eventos de aplicativos Sim Sim

Para evitar spams de aplicativos no fluxo de atividades, os aplicativos ficarão restritos à postagem de três atualizações do fluxo de atividades por aplicativo, por dia, para cada usuário. Esse limite só será válido na área de produção do orkut (www.orkut.com). Para facilitar o desenvolvimento, a sandbox não terá restrições para as atualizações do fluxo de atividades.

Novo! Dados do perfil

A API do OpenSocial fornece acesso a informações sobre os usuários do orkut na forma de dados do perfil. Esses dados não são fornecidos por padrão. Por isso, esta seção explica quais informações estarão, poderão estar e não estarão disponíveis para os aplicativos no orkut.

Novo! Políticas de dados de perfil do orkut

Para que um aplicativo acesse os dados do perfil de um usuário, o usuário deve ter acesso garantido ao aplicativo, instalando-o em seu perfil.

O orkut não compartilhará PII (Informações pessoais identificáveis) com os aplicativos. Os aplicativos não terão acesso a números de telefone, endereços de e-mail, aniversários e endereços físicos dos usuários do orkut.

Os dados disponibilizados para os aplicativos serão apenas os dados que os usuários marcarem como disponíveis para “todos”. Os dados restritos a amigos ou amigos de amigos não ficarão disponíveis para os aplicativos.

Novo! Lista de campos do perfil

Esta seção relaciona todos os campos do perfil disponíveis pelo OpenSocial e a política de acesso do orkut para cada um. São utilizadas as marcações de políticas a seguir:

Disponível Os dados ficarão disponíveis para o aplicativo se o usuário configurar a privacidade deste campo como “compartilhar com todos”.
Ainda não implementado Este campo estará disponível no futuro.
Informações pessoais identificáveis Não ficará disponível para os aplicativos.

Campos do perfil Geral

Campo do orkut Campo do OpenSocial Política de acesso do orkut
Nome NAME (GIVEN_NAME) Disponível
Sobrenome NAME (FAMILY_NAME) Disponível
Sexo GENDER Disponível
Relacionamento RELATIONSHIP_STATUS Disponível
Data de nascimento DATE_OF_BIRTH Informações pessoais identificáveis
Ano de nascimento DATE_OF_BIRTH Informações pessoais identificáveis
Cidade, Estado, País CURRENT_LOCATION e ADDRESSES Disponível
Latitude / Longitude CURRENT_LOCATION and ADDRESSES Disponível
CEP CURRENT_LOCATION e ADDRESS Informações pessoais identificáveis
Idiomas que falo LANGUAGES_SPOKEN Disponível
Escola (ensino médio) SCHOOLS Ainda não implementado
Faculdade / universidade SCHOOLS Ainda não implementado
Empresa / organização JOBS Ainda não implementado
Interessado(a) em LOOKING_FOR Ainda não implementado

Campos do perfil Social

Campo do orkut Campo do OpenSocial Política de acesso do orkut
Filhos CHILDREN Ainda não implementado
Etnia ETHNICITY Ainda não implementado
Religião RELIGION Ainda não implementado
Visão política POLITICAL_VIEWS Disponível
Humor HUMOR Disponível
Orientação sexual SEXUAL_ORIENTATION Ainda não implementado
Estilo FASHION Disponível
Fumo SMOKER Ainda não implementado
Bebo DRINKER Ainda não implementado
Animais de estimação PETS Ainda não implementado
Moro LIVING_ARRANGEMENT Disponível
Cidade natal ADDRESSES Ainda não implementado
Página web URLS Disponível
Quem sou eu ABOUT_ME Disponível
Paixões INTERESTS Disponível
Esportes SPORTS Disponível
Atividades ACTIVITIES Disponível
Livros BOOKS Disponível
Música MUSIC Disponível
Programas de TV TV_SHOWS Disponível
Filmes MOVIES Disponível
Cozinhas FOOD Disponível

Campos do perfil Contato

Campo do orkut Campo do OpenSocial Política de acesso do orkut
E-mail principal EMAILS Informações pessoais identificáveis
E-mails secundários EMAILS Informações pessoais identificáveis
IM do Google Talk N/D N/D
Nomes de usuário IM N/D N/D
Telefone residencial PHONE_NUMBERS Informações pessoais identificáveis
Telefone celular PHONE_NUMBERS Informações pessoais identificáveis
SMS PHONE_NUMBERS Informações pessoais identificáveis
Endereço ADDRESSES e CURRENT_LOCATION Informações pessoais identificáveis
Cidade, Estado, País ADDRESSES e CURRENT_LOCATION Disponível
Latitude / Longitude CURRENT_LOCATION e ADDRESSES Disponível
CEP ADDRESSES e CURRENT_LOCATION Informações pessoais identificáveis

Campos do perfil Profissional

Campo do orkut Campo do OpenSocial Política de acesso do orkut
Escolaridade N/D N/D
Escola (ensino médio) SCHOOLS Ainda não implementado
Faculdade / universidade SCHOOLS Ainda não implementado
Curso N/D N/D
Diploma N/D N/D
Ano SCHOOLS (END_DATE) Ainda não implementado
Profissão JOBS Ainda não implementado
Setor JOBS (FIELD) Ainda não implementado
Subsetor JOBS (SUB_FIELD) Ainda não implementado
Empresa / organização JOBS (NAME) Ainda não implementado
Site da empresa JOBS (WEBPAGE) Ainda não implementado
Título JOBS (TITLE) Ainda não implementado
Descrição do trabalho JOBS (DESCRIPTION) Ainda não implementado
E-mail de trabalho EMAILS Informações pessoais identificáveis
Telefone de trabalho PHONE_NUMBERS Informações pessoais identificáveis
Habilidades profissionais N/D N/D
Interesses profissionais JOB_INTERESTS Ainda não implementado

Campos do perfil Pessoal

Campo do orkut Campo do OpenSocial Política de acesso do orkut
Título N/D N/D
O que mais chama atenção em mim N/D N/D
Altura (cm) BODY_TYPE (HEIGHT) Ainda não implementado
Cor dos olhos BODY_TYPE (EYE COLOR) Ainda não implementado
Cor do cabelo BODY_TYPE (HAIR_COLOR) Ainda não implementado
Tipo físico BODY_TYPE (BUILD) Ainda não implementado
Arte no corpo N/D N/D
Aparência N/D N/D
Do que mais gosto em mim N/D N/D
O que me atrai TURN_ONS Disponível
O que não suporto TURN_OFFS Disponível
Primeiro encontro ideal N/D N/D
Com os relacionamentos anteriores aprendi N/D N/D
Cinco coisas sem as quais não consigo viver N/D N/D
No meu quarto, você encontra N/D N/D
Par perfeito ROMANCE Disponível