Zum Inhalt springen

Moritz

smapOne
  • Gesamte Inhalte

    721
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    80

Moritz hat zuletzt am 4. März gewonnen

Moritz hat die beliebtesten Inhalte erstellt!

Über Moritz

Letzte Besucher des Profils

Der "Letzte Profil-Besucher"-Block ist deaktiviert und wird anderen Benutzern nicht angezeigt.

Leistungen von Moritz

Mentor

Mentor (12/14)

  • smapLand Festival 2024
  • Pioneer - 1. Jahr smapLand
  • Seit einem Jahr dabei
  • Konversationsstarter
  • Sehr beliebt Selten

Neueste Abzeichen

1,1Tsd

Reputation in der Community

63

Community-Antworten

  1. Du meinst "des jeweiligen Creators", oder? Das Token hängt am Creator... Tatsächlich kann man mit dem Master-Token in der internen API die Subscriptions der Childs (per /Subscriptions) einsehen, darin sind auch die Child-Token enthalten. Damit kann man also eine "Fahrt" über alle smaps aller Creatoren realisieren...
  2. Ja genau, einfach über die API per PowerQuery in eine Excel-Tabelle laden. Das würde auf jeden Fall einen Überblick ermöglichen. Man müsste die Query in zwei Schritten gestalten. Zunächst würde über /Smaps erstmal eine Liste aller smaps (bzw. konkret der smapIDs) beschafft. Und über diese Liste wird dann iteriert, um die Aufgaben für jede smap zu ziehen. In der Tabelle könnte die smap dann als Spalte enthalten sein, so dass man nach smap filtern kann. Weitere Filter (z.B. nach User, Titel usw.) wären dann natürlich auch möglich.
  3. @David Susami würde euch eine Übersicht in Excel bereits weiterhelfen?
  4. @Christian B. Gütthoff deine Webapplikation muss den Aufruf an der API durchführen, so dass darin Daten aus der Webseite an smapOne übertragen werden. Es müsste also Code ähnlich diesem hier in deiner Webapplikation hinzugefügt werden: document.getElementById('myButton').addEventListener('click', function() { const smapID = "6fca7319-e2f2-4c8e-957e-4f56875430ff"; const version = "1.0"; const url = "https://platform.smapone.com/Backend/intern/Smaps/" + smapID + "/Versions/" + version + "/Data"; const username = "abc123"; // Can by any arbitrary dummy username const password = "SMAPONE_API_PASSWORT"; // Your API token const auth = btoa(username + ":" + password); fetch(url, { method: 'POST', headers: { 'Authorization': 'Basic ' + auth, 'Content-Type': 'application/json' }, body: JSON.stringify({ "userEmail": "string", "title": "string", "comment": "string", "hasPriority": true, "dueDate": { "date": "string" }, "data": {} }) }) .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Error:', error)); }); Mehr Infos zur Aufgabenerzeugung über die API in unserer FAQ: https://faq.smapone.com/kb/guide/de/wie-konnen-aufgaben-uber-die-rest-api-generiert-werden-nA03jLD4w0/Steps/966370 Außerdem ein smappetizer Deep Dive Tutorial, das die Aufgabenerstellung adressiert Eure Aufgabe bzw. die des Webentwicklers wäre jetzt auch noch, die jeweiligen Daten aus der vom User ausgewählten Gruppe, Untergruppe, Element usw. in das Body-Objekt mit aufzunehmen. Allgemeiner wichtiger Sicherheitshinweis: Die vorgestellte Lösung sollte nicht auf einer öffentlich zugänglichen Webseite umgesetzt werden, da jeder Besucher damit Zugriff auf das API-Token erhalten kann, was ein erhebliches Sicherheitsrisiko darstellt. Dies ist nur für interne Zwecke sinnvoll, idealerweise eine Webseite, auf die nur der Creator selber Zugriff hat. Grundsätzlich besteht aber auch die Möglichkeit, öffentlich zugängliche Webseiten in die smapOne API zu integrieren, ohne dass das Token jedem Besucher zugänglich/einsehbar ist.
  5. In der präsentierten Auswahlliste sind nicht immer alle Bausteine enthalten. Du kannst den gewünschten Baustein aber einfach per {{bricks.BausteinID}} manuell in das Schema übernehmen. Ich würde aus dem Bauch heraus sogar behaupten, dass du den Textergebnisbaustein gar nicht brauchst, sondern auch direkt {{bricks.DataRecordSelect[Spalte]}} einfügen kannst - aber das wäre nochmal zu prüfen eine kurze Prüfung bestätigte mein Bauchgefühl 🙂
  6. Wenn deine Finger auch einen Lötkolben halten können, würde ich mir mal einen ESP8266 in Verbindung mit einem WLED-fähigen LED-Streifen ansehen (z.B. WS2812B). Du kannst den Streifen danach lokal (oder wenn du die IP entsprechend durchroutest auch remote) direkt per HTTPS ansprechen und steuern... (hat aber auch APIs für JSON, MQTT, DMX usw.; super Projekt!)
  7. Vorangestellt, hinten angeklemmt oder irgendwo dazwischen, solange du die Syntax für die Parameter einhältst: sie werden durch Fragezeichen (?) von der Adresse getrennt und jeweils durch ein kaufmännisches Und-Zeichen (&). Beispiele: https://www.smapone.com?key1=value1&key2=value2&key3=value3 ?accessToken=x&$filter=y&$orderBy=z ?$filter=y&$orderBy=z&accessToken=x
  8. Falls als nächstes die Frage kommt, wie man das sendDate jetzt in der Power Query dynamisieren kann: Es lohnt sich inzwischen, hier einfach mal im Forum ein wenig zu wühlen, was man alles so Feines findet 😄
  9. Das geht mit Hilfe der Preview API (siehe FAQ). In der kannst du einen Filter z.B. auf das sendDate setzen (nicht älter als 2 Tage) $filter=sendDate%20gt%202024-03-02T15:05:00Z und dann auch entsprechend beliebig sortieren, z.B. auch das sendDate absteigend von jung nach alt. $orderBy=sendDate%20desc Die URL sieht dann so aus (ersetze einfach die smapID gegen die von deiner smap): https://platform.smapone.com/Backend/preview/Smaps/65384867-3375-4c53-b7d4-27bf9bbdb477/Records?$filter=sendDate%20gt%202024-03-02T15:05:00Z&$orderBy=sendDate%20desc Dieser Abruf ruft alle Datensätze der letzten 48h ab (hier ist jetzt ~16:05 Uhr, also alle seit UTC 15:05 Uhr, im Query String "2024-03-02T15:05:00Z"), also alle Datensätze, wo das sendDate greater than ("gt") – also nach – diesem Zeitpunkt ist und sortiert ("orderBy") die Datensätze nach dem sendDate, und zwar absteigend (engl. "descending", also "desc"), also quasi von jung nach alt. (Aufsteigend wäre "asc" für engl. "ascending").
  10. @Christian B. Gütthoff das kannst du in der Word-Berichtsvorlage einstellen – mehr Infos in der Dokumentation bzw. auch in der FAQ.
  11. Der Fehler bei dir erschien übrigens, weil das Ergebnis deiner Formel ein true oder false ist (entweder ist die AND()-Bedingung erfüllt oder nicht) und ein Zahlenergebnisfeld natürlich Zahlen erwartet und nicht true/false. AND(IF(LESSTHAN({END1_Innen_4},50),1),(NOTEMPTY({END1_Innen_4}))) Du müsstest die AND()-Bedingung also mit in das IF() nehmen: IF(AND(..., ...), 1, 0) Das hier sollte 1 in deinem Zahlenergebnisbaustein ausgeben, wenn die Zahl END1_Innen_4 gesetzt ist und kleiner als 50, ansonsten 0. IF(AND(NOTEMPTY({END1_Innen_4}), LESSTHAN({END1_Innen_4}, 50)), 1, 0)
  12. @Christian B. Gütthoff in der smap oder im PDF-Bericht? Wenn im Bericht, schau mal hier: https://platform.smapone.com/Documentation/de/Topic/Reports#beispiele-für-zahlenwerte
  13. "Nicht nochmal sendbar" – ja, nicht der Selbe. Aber der Gleiche! 😉 (siehe folgende Anleitung) @Christian B. Gütthoff hinter dem Thread findest du einen sehr einfachen Weg, um an bereits abgesendete Datensätze nochmal zu kommen. Den neuen Entwurf kannst du dann korrigieren und den alten löschen. Das ist fast wie ändern (Achtung: bis auf die geänderten Zeitstempel). Wenn du indes nur eine Kleinigkeit auf dem Bericht ändern willst, kannst du dir auch einfach immer die Word-Datei (statt PDF) beschaffen, die Datei anpassen und PDF neu erstellen.
  14. Oh, schöne Lösung! Ich wollte was mit 2 DSABs und konsolidierten Ergebnisfeldern vorschlagen, finde deinen Vorschlag aber deutlich charmanter!
×
×
  • Neu erstellen...