FAQ

SDK dell'App Directory

Domande frequenti

Flusso SSO

Conservare le impostazioni dell'utente

Supporto per più account

hsp.js Errori

Flusso Flow

Noi richiediamo che gli sviluppatori utilizzino il metodo di autenticazione Single Sign On per la parte dell'app che si interfaccia con Hootsuite e OAuth per il service provider estero.

Questo è il flusso di lavoro che l'app dovrebbe seguire quando utilizza SSO per interfacciarsi con Hootsuite:

  • Puoi impostare la tua app per utilizzare SSO in dev admin tool, quindi fornire una chiava segreta condivisa
  • In questo modo Hootsuite farà un controllo del token per l'ID dell'utente di Hootsuite a ogni sua interazione con Hootsuite
  • Questo manterrà una registrazione dell'utente di Hootsuite
  • L'app prenderà quindi tale ID e avrà un livello che mappa l'ID di Hootsuite all'ID dell'utente dell'app
  • Se non c'è alcune registrazione, l'app dovrebbe chiedere l'autenticazione (OAuth con la tua app)

Conservare le impostazioni dell'utente

Una volta che lo stream è autenticato con Hootsuite, i seguenti parametri vengono passati nuovamente all'iframe dello stream:

  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)

Gli sviluppatori di app non sono d'accordo sulle modalità di conservazione di questi dettagli per gli utenti. Il metodo preferito è all'interno di una tabella utente, ma è anche possibile rilasciare un cookie nel browser dell'utente. Puoi assegnare un nome univoco a ogni sessione, qualcosa come nomeapp_512773 (dove 512773 è l'ID dell'app, o pid).

Quando utilizzo SSO per autenticarti con Hootsuite, l'accesso iniziale dell'app appare in questo modo:

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

Per ogni richiesta successiva, puoi aggiungere quanto segue alla fine della parte query dell'URL:

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

Supporto per più account

Al fine di supportare più account negli stream (la possibilità per ogni utente di autenticare ogni stream con un account unico), puoi legare il token di accesso all'ID dello stream o dell'app. Ogni nuovo stream aggiunge i risultati in una chiamata da autenticare con il tuo servizio, anche se l'utente ha già aggiunto l'app e l'ha autenticata in uno stream diverso, l'app richiede all'utente un'altra autenticazione.

hsp.js Errori

hsp.init non dovrebbe essere in ogni pagina, ma solo nella pagina iniziare dell'app e dovrebbe essere chiamata una sola volta. Una volta completata l'inizializzazione, dovresti passare il PID e l'UID insieme a ogni pagina che l'utente visita successivamente nell'app. UID e PID dovrebbero essere passati come parte del recieverPath URL: /index.php?theme=magnum&lang=en&timezone=-25200&pid=515068&uid=209524

Dopo aver caricato lo stream della mia app, visualizzo questo errore 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'.

  1. Assicurati che non ci siano errori nella pagina dello stream o plug-in della tua app
  2. Assicurati che lo stream o plug-in della tua app utilizzi il corretto hsp.js: https://d2l6uygi1pgnys.cloudfront.net/jsapi/2-0/hsp.js
  3. Assicurati che l'apiKey in hsp.init() sia corretta
  4. Se la dashboard di Hootsuite è in modalità SSL, assicurati di aver fornito il corretto URL sicuro dell'iframe nella pagina di impostazione dello stream dell'app. Assicurati che anche l'URL del ricevitore della tua app utilizzi SSL. È importante che hsp.js sia caricato in https.

Ricevo l'errore 'API Key: xxxxxxxxxxxxxxxxxxx is not correct, please check your app settings' nella dashboard.

Assicurati che l'apiKey in hsp.init() sia corretta.

Ricevo l'errore 'API Key: is not correct, please check your app settings' nella dashboard.

Assicurati che l'apiKey in hsp.init() non sia vuoto. Se utilizzi hsp.js nella tua finestra pop-up o in un'altra pagina di iframe, assicurati che hsp.init() non sia chiamata nuovamente. L'unica funzione hsp che è possibile utilizzare fuori dalla pagina dello stream o plug-in è hsp.cloaseCustomPopup(apiKey, pid), e non richiede init.

Dopo aver caricato lo stream della mia app, visualizzo questo errore js: 'Uncaught TypeError: Cannot call method 'appendChild' of null'.

Controlla la tua funzione hsp.init. Assicurati che venga chiamata una volta che la pagina è stata completamente caricata. Ad esempio, inserisci la funzione in $(document).ready().

Come utilizzo la funzione hsp nella mia pagina pop-up personalizzata?

Se la tua finestra pop-up e lo stream o il plug-in dell'app si trovano nello stesso dominio, è preferibile che la tua finestra pop-up utilizzi la seguente funzione javascript per comunicare con la pagina del tuo stream o plug-in e che esegua la funzione hsp da qui: window.parent.frames[apiKey_pid].hsp.some_function().