fragte ich die folgende Frage im Abschnitt Bugs Facebook
Hinweis: Dies ist eher ein Plattform-Design-Vorschlag als ein Fehler, als ich Zeit ein Chat-API-Feedback-Portal zu finden gescheitert Ich bin Erstellen eines Chat-Bot, mit dem der Benutzer ein Ziel verfolgen kann. Es wird etwas wie "Warst du am 12. Juli 2016 spazieren gehen?" und haben unten Ja/Nein-Tasten.
Derzeit, um die Absicht, den Tag und die Leistung boolean zu übergeben, muss ich eine Zeichenfolge wie diese "== GOAL == erreicht < < < {goal_achieved} >>>, Datum verfolgt [[[{date_tracked} ]]] "und verwenden Sie regex, um die Begrenzungsvariablen zu erfassen. Dies ist in anderen Fällen, in denen die templateten Zeichenfolgen in der Nutzlast Benutzereingabevariablen sind, anfällig für Parsing-Fehler. Wenn beispielsweise '{goal_achieved}' durch die Zielvariable 'meditiert' ersetzt wurde, kann die Regex, die die templatete Variable erfasst, fehlschlagen
Man könnte die Postback-Payload verwenden, um eine JSON-codierte Zeichenfolge zu speichern, aber das Problem dabei ist, dass die Payload-Zeichenfolge in der Benutzerausgabe protokolliert wird und JSON-Strings etwas hässlich und verwirrend sind wenn die Nutzlast nicht an den Benutzer stattdessen den Text einloggen für die Schaltfläche protokolliert wurde der Benutzer zu helfen, bestätigt die Schaltfläche geklickt wurde.
wenn das nicht möglich ist, gibt es eine andere Beratung für Daten in Schaltfläche Nutzlast kodiert?
Th Die folgende Antwort wurde angeboten (Mark Wiltse)
Hallo Justin, Leider unterstützt unsere Payload-Struktur derzeit nicht die Funktionalität, die Sie implementieren möchten. Nach meinem Verständnis möchten Sie die Payload verwenden, um Ihr Backend zu informieren, wenn der Benutzer sein "Ziel" an diesem bestimmten Datum erreicht hat. Ich würde vorschlagen, dass Sie Ihre Payload-Antwort für den Button an Ihrem Ende erstellen, bevor Sie es an uns weitergeben, was im Grunde die JSON-Idee ist, die Sie ursprünglich hatten. Ich weiß, das ist ein wenig umständlich zu handhaben, aber die zurückgegebene Payload-Antwort ist unabhängig von dem Text, der mit dem Messenger-Thread bereitgestellt wurde. Ich würde vorschlagen, dass Sie auch versuchen, Ihre Zeichenfolgen zu bereinigen, wenn Sie sich Sorgen machen, dass ein Benutzer Ihnen zuvor ein Problem mit Ihrer Regex verursacht hat. Sie sollten in der Lage sein, diese Funktionalität zu implementieren, wenn die Daten des vorherigen Benutzers bereinigt werden, um Probleme mit dem Regex/Json-Parsing zu vermeiden. Da dies eine Implementierungsfrage ist, muss ich diesen Bericht als ungültig abbrechen. Wenn Sie noch weitere Einblicke und konkrete Tipps für die Implementierung dieses Flow suchen, schreiben Sie bitte an unseren Stack-Overflow, wo wir Facebook-Ingenieure und eine breite Palette von Community-Mitgliedern haben, die ebenfalls dazu beitragen. http://facebook.stackoverflow.com/ Kümmern Sie sich um die besten Wünsche mit Ihrem Messenger-Bot. Mark
Dieser Satz war besonders unklar:
Ich weiß, dass dies ein wenig umständlich zu handhaben, aber die Nutzlast Antwort zurückgeleitet ist unabhängig von dem Text, der mit dem messenger Gewinde versehen wurde.
TLDR; Kann mir jemand mitteilen, wie verhindert werden kann, dass die Schaltfläche die Payload-Zeichenfolge protokolliert, damit ich JSON an meine App übergeben kann, ohne dass der Benutzer sie sieht?
Seltsam, so scheint es, die Taste Text protokolliert wird, nicht die Nutzlast ... vielleicht beobachtete ich früher ein Fehler, der wurde behoben ... oder vielleicht habe ich gerade einen Fehler gemacht, danke für die Bestätigung –