FAQ

App-Verzeichnis-SDK

Häufig gestellte Fragen

SSO-Ablauf

Beibehaltung von Benutzereinstellungen

Unterstützung mehrerer Konten

hsp.js-Fehler

SSO-Ablauf

Wir erwarten von Entwicklern, auf der Hootsuite-Seite der App die Authentifizierung durch Single-Sign-On zu verwenden, für den externen Dienstanbieter jedoch die Authentifizierung durch OAuth.

Folgenden Workflow sollte die App hinsichtlich SSO auf der Hootsuite-Seite befolgen:

  • Sie können im Admin-Tool für Entwickler festlegen, dass die App SSO verwendet, und dann einen gemeinsamen geheimen Schlüssel zur Verfügung stellen.
  • Dadurch kann Hootsuite bei jeder Interaktion mit Hootsuite die Benutzer-ID des Hootsuite-Benutzers mit Tokenüberprüfung durchleiten.
  • Auf diese Weise werden Daten über den Hootsuite Benutzer aufgezeichnet.
  • Die App verwendet anschließend die ID und ordnet die Hootsuite ID der App-Benutzer-ID zu.
  • Liegen keine Daten vor, sollte die App zur Authentifizierung auffordern (OAuth in Ihrer App)

Beibehaltung von Benutzereinstellungen

Nachdem der Stream die Authentifizierung bei Hootsuite abgeschlossen hat, werden folgende Parameter zurück an den Stream-iFrame übermittelt:

  1. lang=en
  2. timezone=7200
  3. pid=2823         // Platzierungsidentifikation, eindeutig für jeden Stream und Benutzer
  4. uid=1234567      // Hootsuite Benutzer-ID
  5. i=1234567        // Benutzer-ID (optional, bei App-Installation durch den Benutzer eingegeben)
  6. ts=1318362023    // Zeitangabe
  7. token=123abc...  // Sicherheitstoken (sha1 hash)

App-Entwickler unterscheiden sich hinsichtlich der Speicherung dieser Details eines Benutzers. Die bevorzugte Methode ist eine Benutzertabelle, es ist aber auch möglich, einen Cookie im Browser des Benutzers zu hinterlassen. Anschließend können Sie jeder Sitzung einen eindeutigen Namen zuweisen, z. B. "appname_512773" (wobei 512773 die ID der App – die PID – ist).

Wenn Sie SSO für die Authentifizierung bei Hootsuite verwenden, wird der erste App-Zugriff angezeigt als:

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

Für spätere Anforderungen können Sie dann Folgendes an den Abfrageteil der URL anhängen:

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

Unterstützung mehrerer Konten

Um mehrere Konten zu unterstützen (die Möglichkeit für Benutzer, jeden Stream unter einem anderen Konto zu authentifizieren), können Sie das Zugriffstoken an die Stream-/App-ID koppeln. Jede Hinzufügung eines neuen Streams führt zu einem Aufruf zur Authentifizierung bei Ihrem Dienst – auch wenn der Benutzer die App bereits hinzugefügt und in einem anderen Stream authentifiziert hat, fordert die App den Benutzer zur erneuten Authentifizierung auf.

hsp.js-Fehler

hsp.init sollte sich nicht auf jeder Seite befinden, sondern nur auf der Startseite der App, und sollte nur einmal aufgerufen werden. Nach der Initialisierung sollten Sie die PID und UID an jede folgende Seite übergeben, die der Benutzer in der App besucht. Die UID und PID sollten als Teil der receiverPath-URL weitergegeben werden: /index.php?theme=magnum&lang=en&timezone=-25200&pid=515068&uid=209524

Nach dem Laden meines App-Streams erscheint der folgende js-Fehler: "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. Stellen Sie sicher, dass Ihr App-Stream bzw. Ihre Plug-in-Seite keine Fehler enthält.
  2. Stellen Sie sicher, dass Ihr App-Stream bzw. Ihr Plug-in die richtige hsp.js verwendet: https://d2l6uygi1pgnys.cloudfront.net/jsapi/2-0/hsp.js
  3. Stellen Sie sicher, dass apiKey in hsp.init() richtig ist.
  4. Befindet sich das Hootsuite Dashboard im SSL-Modus, stellen Sie sicher, dass Sie auf der Seite mit den Einstellungen für den App-Stream die richtige sichere iframe-URL angegeben haben. Stellen Sie sicher, dass die App-Empfänger-URL ebenfalls SSL verwendet. Es ist wichtig, dass hsp.js in https geladen ist.

Ich erhalte die Fehlermeldung: "API Key: xxxxxxxxxxxxxxxxxxx is not correct, please check your app settings' error on the dashboard."

Stellen Sie sicher, dass apiKey in hsp.init() richtig ist.

Ich erhalte die Fehlermeldung: "API Key: is not correct, please check your app settings' error on the dashboard."

Stellen Sie sicher, dass apiKey in hsp.init() nicht leer ist. Wenn Sie hsp.js in Ihren Popup- oder anderen iframe-Seiten verwenden, stellen Sie sicher, dass hsp.init() nicht erneut aufgerufen wird. Die einzige hsp-Funktion, die außerhalb der App-Stream-/Plug-in-Seite verwendet werden darf, ist hsp.cloaseCustomPopup(apiKey, pid), und init ist hierfür nicht erforderlich.

Nach dem Laden meines App-Streams erscheint der folgende js-Fehler: "Uncaught TypeError: Cannot call method 'appendChild' of null".

Überprüfen Sie Ihre hsp.init-Funktion. Stellen Sie sicher, dass sie aufgerufen wird, wenn die Seite vollständig geladen ist; fügen Sie sie z. B. in $(document).ready() ein.

Wie verwende ich die hsp-Funktion auf meiner benutzerdefinierten Popup-Seite?

Wenn sich Popup und App-Stream/-Plug-in in derselben Domäne befinden, wird empfohlen, dass das Popup die folgende Javascript-Funktion nutzt, um mit dem Stream/der Plug-in-Seite zu kommunizieren und die hsp-Funktion von dort aus auszuführen: window.parent.frames[apiKey_pid].hsp.some_function().