em Sem categoria

Guia do desenvolvedor do orkut

(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 atividadesFeed de dados que contém atividades para uma pessoa.
AplicativoPrograma de terceiros que utiliza APIs do Gadgets e do OpenSocial para ampliar a experiência do orkut.
Definição de aplicativoArquivo XML que define o aplicativo. A sintaxe se baseia no XML do gadget, também conhecido como “especificação do gadget”.
Diretório de aplicativosLista de aplicativos disponíveis.
Página de configurações de aplicativosLista 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 esquerdaA 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 esquerdoUm 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:

NomeComo recuperarExemplo de valor
Paísgadgets.util.getUrlParameters()[“country”]EUA
Idiomagadgets.util.getUrlParameters()[“lang”]en-US
ID do proprietáriogadgets.util.getUrlParameters()[“gadgetOwner”]12345678901234567890
ID do visualizador [1]gadgets.util.getUrlParameters()[“gadgetViewer”]12345678901234567890
URL paigadgets.util.getUrlParameters()[“parent”]http://sandbox.orkut.com
URL do gadgetgadgets.util.getUrlParameters()[“url”]http://example.com/gadget_specification.xml
Nome de visualizaçãogadgets.util.getUrlParameters()[“view”]tela
Parâmetros de visualizaçãogadgets.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:

NomeCódigo para obterÚnico gadget visível
telasupported_views[“canvas”]true
perfilsupported_views[“profile”]false
padrãosupported_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:

NomeCódigo para obterMapeado no orkut para
DASHBOARDsupported_views[gadgets.views.ViewType.DASHBOARD]perfil
FULL_PAGEsupported_views[gadgets.views.ViewType.FULL_PAGE]tela
POPUPN/DN/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 eventoPágina inicial e página “ver mais”Página do perfil do usuário
Eventos nativosFoto, vídeo, status, depoimento e atualizações de campos importantes do perfilFoto, vídeo, status, depoimento e atualizações em qualquer campo do perfil
Instalação e desinstalação de aplicativosNãoSim
Eventos de aplicativosSimSim

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ívelOs dados ficarão disponíveis para o aplicativo se o usuário configurar a privacidade deste campo como “compartilhar com todos”.
Ainda não implementadoEste campo estará disponível no futuro.
Informações pessoais identificáveisNão ficará disponível para os aplicativos.

Campos do perfil Geral

Campo do orkutCampo do OpenSocialPolítica de acesso do orkut
NomeNAME (GIVEN_NAME)Disponível
SobrenomeNAME (FAMILY_NAME)Disponível
SexoGENDERDisponível
RelacionamentoRELATIONSHIP_STATUSDisponível
Data de nascimentoDATE_OF_BIRTHInformações pessoais identificáveis
Ano de nascimentoDATE_OF_BIRTHInformações pessoais identificáveis
Cidade, Estado, PaísCURRENT_LOCATION e ADDRESSESDisponível
Latitude / LongitudeCURRENT_LOCATION and ADDRESSESDisponível
CEPCURRENT_LOCATION e ADDRESSInformações pessoais identificáveis
Idiomas que faloLANGUAGES_SPOKENDisponível
Escola (ensino médio)SCHOOLSAinda não implementado
Faculdade / universidadeSCHOOLSAinda não implementado
Empresa / organizaçãoJOBSAinda não implementado
Interessado(a) emLOOKING_FORAinda não implementado

Campos do perfil Social

Campo do orkutCampo do OpenSocialPolítica de acesso do orkut
FilhosCHILDRENAinda não implementado
EtniaETHNICITYAinda não implementado
ReligiãoRELIGIONAinda não implementado
Visão políticaPOLITICAL_VIEWSDisponível
HumorHUMORDisponível
Orientação sexualSEXUAL_ORIENTATIONAinda não implementado
EstiloFASHIONDisponível
FumoSMOKERAinda não implementado
BeboDRINKERAinda não implementado
Animais de estimaçãoPETSAinda não implementado
MoroLIVING_ARRANGEMENTDisponível
Cidade natalADDRESSESAinda não implementado
Página webURLSDisponível
Quem sou euABOUT_MEDisponível
PaixõesINTERESTSDisponível
EsportesSPORTSDisponível
AtividadesACTIVITIESDisponível
LivrosBOOKSDisponível
MúsicaMUSICDisponível
Programas de TVTV_SHOWSDisponível
FilmesMOVIESDisponível
CozinhasFOODDisponível

Campos do perfil Contato

Campo do orkutCampo do OpenSocialPolítica de acesso do orkut
E-mail principalEMAILSInformações pessoais identificáveis
E-mails secundáriosEMAILSInformações pessoais identificáveis
IM do Google TalkN/DN/D
Nomes de usuário IMN/DN/D
Telefone residencialPHONE_NUMBERSInformações pessoais identificáveis
Telefone celularPHONE_NUMBERSInformações pessoais identificáveis
SMSPHONE_NUMBERSInformações pessoais identificáveis
EndereçoADDRESSES e CURRENT_LOCATIONInformações pessoais identificáveis
Cidade, Estado, PaísADDRESSES e CURRENT_LOCATIONDisponível
Latitude / LongitudeCURRENT_LOCATION e ADDRESSESDisponível
CEPADDRESSES e CURRENT_LOCATIONInformações pessoais identificáveis

Campos do perfil Profissional

Campo do orkutCampo do OpenSocialPolítica de acesso do orkut
EscolaridadeN/DN/D
Escola (ensino médio)SCHOOLSAinda não implementado
Faculdade / universidadeSCHOOLSAinda não implementado
CursoN/DN/D
DiplomaN/DN/D
AnoSCHOOLS (END_DATE)Ainda não implementado
ProfissãoJOBSAinda não implementado
SetorJOBS (FIELD)Ainda não implementado
SubsetorJOBS (SUB_FIELD)Ainda não implementado
Empresa / organizaçãoJOBS (NAME)Ainda não implementado
Site da empresaJOBS (WEBPAGE)Ainda não implementado
TítuloJOBS (TITLE)Ainda não implementado
Descrição do trabalhoJOBS (DESCRIPTION)Ainda não implementado
E-mail de trabalhoEMAILSInformações pessoais identificáveis
Telefone de trabalhoPHONE_NUMBERSInformações pessoais identificáveis
Habilidades profissionaisN/DN/D
Interesses profissionaisJOB_INTERESTSAinda não implementado

Campos do perfil Pessoal

Campo do orkutCampo do OpenSocialPolítica de acesso do orkut
TítuloN/DN/D
O que mais chama atenção em mimN/DN/D
Altura (cm)BODY_TYPE (HEIGHT)Ainda não implementado
Cor dos olhosBODY_TYPE (EYE COLOR)Ainda não implementado
Cor do cabeloBODY_TYPE (HAIR_COLOR)Ainda não implementado
Tipo físicoBODY_TYPE (BUILD)Ainda não implementado
Arte no corpoN/DN/D
AparênciaN/DN/D
Do que mais gosto em mimN/DN/D
O que me atraiTURN_ONSDisponível
O que não suportoTURN_OFFSDisponível
Primeiro encontro idealN/DN/D
Com os relacionamentos anteriores aprendiN/DN/D
Cinco coisas sem as quais não consigo viverN/DN/D
No meu quarto, você encontraN/DN/D
Par perfeitoROMANCEDisponível