Perguntas Frequentes

SDK do Diretório de Aplicativos

Perguntas Frequentes

Fluxo SSO

Manter configurações do usuário

Compatível com várias contas

Erros de hsp.js

Fluxo SSO

Como requisito, esperamos que os desenvolvedores usem a autenticação de login único do lado da Hootsuite do aplicativo, mas OAuth para o prestador de serviços externo.

Aqui está o fluxo de trabalho que o aplicativo deve seguir ao usar SSO do lado da Hootsuite:

  • Você pode configurar o aplicativo para usar SSO na ferramenta de administração do desenvolvedor e depois fornecer um segredo compartilhado
  • Isso fará com que a Hootsuite aprove o ID de usuário da Hootsuite com uma verificação de token para cada interação com a Hootsuite
  • Isso manterá um registro do usuário da Hootsuite
  • O aplicativo então pegará esse ID e terá uma camada que mapeia o ID da Hootsuite para o ID de usuário do aplicativo
  • Se não houver nenhum registro, o aplicativo deverá solicitar autenticação (OAuth dentro de seu aplicativo)

Manter configurações do usuário

Depois que o fluxo é autenticado com a Hootsuite, os parâmetros a seguir são passados de volta para o iframe do fluxo:

  1. lang=en
  2. timezone=7200
  3. pid=2823         // placement ID, unique for each stream per user
  4. uid=1234567      // Hootsuite user ID
  5. i=1234567        // user identifier (optionally entered by user upon App installation)
  6. ts=1318362023    // timestamp
  7. token=123abc...  // security token (sha1 hash)

Os desenvolvedores do aplicativo divergem aqui em termos de como armazenam esses detalhes para um usuário. O método preferido é dentro de uma tabela de usuário; no entanto, também é possível inserir um cookie no navegador do usuário. Em seguida, você pode atribuir um nome exclusivo a cada sessão, algo como nomedoaplicativo_512773 (onde 512773 é o id do aplicativo, ou pid).

Ao usar SSO para autenticação com a Hootsuite, o acesso do aplicativo inicial aparece como:

/index.php?lang=en&timezone=-25200&pid=512773&uid=209524&isSsl=0&i=209524&ts=1350591402&token=6d20004764b07cefed6fd8892026d22ce

Então, para cada solicitação subsequente, você pode acrescentar o seguinte à parte de consulta do URL:

/index.php?lang=en&timezone=-25200&pid=515068&uid=209524

Compatível com várias contas

Para oferecer suporte a várias contas entre fluxos (a capacidade de um usuário autenticar cada fluxo em uma única conta), você pode vincular o token de acesso ao ID do aplicativo/fluxo. Cada nova adição de fluxo resulta em uma chamada para autenticar com o seu serviço; mesmo se o usuário já tiver adicionado o aplicativo e o autenticado em um fluxo diferente, o aplicativo solicitará que o usuário autentique novamente.

Erros de hsp.js

A hsp.init não deve estar em todas as páginas, mas apenas na página inicial do aplicativo, e deve ser chamada somente uma vez. Depois que você tiver inicializado, deverá repassar o PID e UID em cada página sucessiva que o usuário visitar no aplicativo. O UID e PID devem ser repassados como parte do recieverPath URL: /index.php?theme=magnum&lang=en&timezone=-25200&pid=515068&uid=209524

Após carregar meu fluxo de aplicativo, recebo esta mensagem de erro js: 'Unsafe JavaScript attempt to access frame with URL https://abc.abc.abc from frame with URL https://xyz.xyz.xyz Domains, protocols and ports must match' (Tentativa insegura de JavaScript acessar quadro com https://abc.abc.abc de URL a partir de quadro com domínios, protocolos e portas de https://xyz.xyz.xyz de URL).

  1. Verifique se não há erros na página de fluxo/plug-in de seu aplicativo
  2. Verifique se o fluxo/plug-in de seu aplicativo está usando a hsp.js correta: https://d2l6uygi1pgnys.cloudfront.net/jsapi/2-0/hsp.js
  3. Verifique se a apiKey em hsp.init() está correta
  4. Se o painel da Hootsuite estiver em modo SSL, verifique se você informou o url do iframe seguro correto na página de configuração do fluxo de aplicativo. Verifique se o URL do receptor do aplicativo também está usando SSL. É importante que hsp.js seja carregada em https.

O painel está exibindo esta mensagem de erro 'API Key: xxxxxxxxxxxxxxxxxxx is not correct, please check your app settings (API Key: xxxxxxxxxxxxxxxxxxx não está correto. Verifique as configurações do aplicativo).

Verifique se a apiKey em hsp.init() está correta.

O painel está exibindo esta mensagem de erro 'API Key: .

Verifique se a apiKey em hsp.init() não está vazia. Se você usar hsp.js em sua janela pop-up ou outras páginas iframe, certifique-se de que hsp.init() não seja chamado novamente. A única função hsp que pode ser usada legitimamente fora da página de fluxo/plug-in de aplicativo é hsp.cloaseCustomPopup(apiKey, pid), e sem necessidade de inicialização.

Após carregar meu fluxo de aplicativo, recebo esta mensagem de erro js: 'Uncaught TypeError: Cannot call method 'appendChild' of null' (Tipo de erro não detectado: não é possível chamar o método 'appendChild' de nulo).

Verifique a função hsp.init. Certifique-se de que seja chamada após a página estar completamente carregada. Por exemplo, coloque a função em $(document).ready().

Como faço para usar a função hsp em minha página pop-up personalizada?

Se sua janela pop-up e o fluxo/plug-in de aplicativo estão no mesmo domínio, é recomendável que a janela pop-up utilize a seguinte função javascript para comunicar-se de volta com a página do fluxo/plug-in e executar a função hsp aí: window.parent.frames[apiKey_pid].hsp.some_function().