Jump to content

Moritz

smap Experts
  • Posts

    730
  • Joined

  • Last visited

  • Days Won

    80

Moritz last won the day on March 4

Moritz had the most liked content!

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Moritz's Achievements

Mentor

Mentor (12/14)

  • smapLand Festival 2024
  • Pioneer - 1. Year of smapLand
  • One Year In
  • Conversation Starter
  • Very Popular Rare

Recent Badges

1.2k

Reputation

64

Community Answers

  1. Ich hatte gar keine Ansicht. Das ist der Text/Code, wenn du es aus Power Automate herauskopierst. Dann hat das diese Notation @{variable('accessToken')} @{output('calculatedValue')} @{body('doHttpRequest')} @{formatDateTime(utcNow(), 'yyyy')} Ich hätte diesen String als Prüfungsschritt in eine JSON-Compose gelegt. Dann hättest du das Ergebnis im Output vergleichen können. Der Weg, den statischen Vergleichstext aber in eine Variable zu legen, ist auch sehr klug/sinnvoll, weil du den Datentyp explizit definierst.
  2. Für einen Audit könnte auch der Abruf der Versionsinformationen einer smap interessant sein...
  3. Hey @Dmytro Vasyliev, schalte in deinem Trigger mal die Option "Who can trigger the flow?" auf "Anyone". Nur dann kann der Webhook-Receiver von außem empfangen werden. Ach und bitte nutzen diesen Webhook jetzt nicht für deinen produktiven Einsatz: Da wir im Forum (und damit potentiell das ganze Netz) die URL kennen, ist diese als kompromittiert zu betrachten. Jeder könnte nun von außen Daten in deinen Flow senden. (Edit: Man kann doch nicht die ganze URL sehen. Trotzdem sollte diese URL prinzipiell sensibel behandelt werden.)
  4. Nein leider nicht. Aber man könnte natürlich diese Tabelle in einen DSAB legen, der Nutzer müsste sich dann die entsprechende Zeile auswählen und es würden dann die jeweiligen Sprachtexte in z.B. einen Textergebnisbaustein referenziert. Dazu müsste allerdings die Datenstruktur umgestellt werden (es müssten X- und Y-Achse vertauscht werden).
  5. Was ich auch mal empfehlen würde: Die Condition mehr sichtbar eine JSON-Compose-Action zu machen. Sowas wie { "kundennr": @{outputs('kundennr')}, "string": @{string('17654')}, "check": @{equals(outputs('kundennr'), string('17654'))} } Weil das Debugging der Condition ist ja immer wenig aussagekräftig (man sieht ja im Flow-Run nur das Resultat, true oder false; ohne dass man die Werte für den Check nochmal sieht). Das Ergebnis würde dann sowas hier ausspucken... { "kundennr": 17654, "string": "17654", "check": false }
  6. Hey @Micha Zenke, kannst du aus einem Flow-Durchlauf mal den Inhalt von "kundennr" zeigen? Ansonsten finde ich den Zeilenumbruch auf der linken Seite deiner Kondition sehr verdächtig... Kriegst du das entfernt? Ich meine, dass manchmal ein Zeilenumbruch sichtbar ist, ohne das wirklich einer enthalten ist (also ein Anzeigebug bei Power Automate). Aber möglicherweise ist das auch einfach ein Zeilenumbruch, der in der anderen Seite natürlich nicht enthalten ist...
  7. Ich sehe gerade auch keine Möglichkeit, in der smap (also in der smapOne-App, in der der Nutzer das smap-Formular ausfüllt) zu prüfen/erkennen, ob es eine (ggf. sogar automatisiert erzeugte) Aufgabe ist oder nicht. Über die REST-API ist das herauszufinden, ja klar. Alleine schon weil man den Abruf ja auf ?state=Incomplete oder direkt über die Preview-API /Smaps/Tasks fährt. Aber auch im JSON des Datensatzes ist das erkennbar: Jedoch, wie gesagt, nicht in der smap...
  8. Nach meiner Erfahrung liegt genau hier der Hase im Pfeffer: Auf der linken Seite deiner Prüfung ist die kundennr (ich gehe davon aus, dass dieser Wert als String/Text vorliegt), auf der rechten Seite hast du aber eine Zahl eingetragen. Sieht für dich nicht danach aus? Für Power Automate aber schon! 😉 Wie kannst du das Problem lösen? Es gibt eines Funktion/Expression, mit der du arbiträre Werte in einen String casten kannst: Achtung wichtig: Das musst du als Expression/Funktion eintragen. Das sollte dann in deinem Flow so oder so ähnlich aussehen... ... und nicht so: Probier bitte einmal aus, ob das dein Problem löst...
  9. 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...
  10. 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.
  11. @David Susami würde euch eine Übersicht in Excel bereits weiterhelfen?
  12. @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.
  13. 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 🙂
×
×
  • Create New...