In Facebook messenger API, hoe te voorkomen knop postback payload tekst niet ingelogd om het venster te chatten op klik?

stemmen
1

TLDR; @ bottom

Ik vroeg de volgende vraag in de Facebook-bugs sectie

LET OP: Dit is meer een platform ontwerp suggestie dan een bug, aangezien ik niet in geslaagd om een Chat API feedback portal Momenteel ben ik het bouwen van een Chat bot waarmee de gebruiker om een doel te volgen vinden. Het zal iets zeggen als Ben je gaan voor een wandeling op 12 juli 2016? en hebben ja / nee knoppen hieronder.
Op dit moment om de opzet, de dag en de prestatie boolean ik nodig om een string als dit == GOAL == bereikt sjabloon passeren? <<< {goal_achieved} >>>, datum bijgehouden [[[{date_tracked}]] ] en gebruik regex het begrensde variabelen vangen. Dit is gevoelig voor parseerfout in andere gevallen waarin de templated strings in de payload zijn gebruiksvriendelijk inputvariabelen dwz als de '{goal_achieved}' werden vervangen met als doel variabele '>> mediteerde dan is de reguliere expressie die de matrijs variabele vangt kan mislukken .
Men zou de postback payload gebruiken om een JSON-gecodeerde tekenreeks te slaan, maar het probleem met dit is dat de lading vast komt aangemeld bij de gebruiker output en JSON strings zijn een beetje lelijk en verwarrend. de uitdagingen ik het gezicht kan gemakkelijk worden verholpen als de laadvermogen werd niet aangemeld voor de gebruiker in plaats daarvan de tekst voor de knop om te helpen de gebruiker bevestigen dat de knop werd geklikt te melden.
Als dat niet mogelijk is, is er een andere adviezen voor het coderen van gegevens in knop payload?

De volgende vraag werd aangeboden (Mark Wiltse)

Hi Justin, helaas op dit moment onze payload structuur niet de functionaliteit die u probeert uit te voeren te ondersteunen. Vanuit mijn begrip u de Payload gebruiken om uw backend te informeren als de gebruiker zijn 'doel' op die specifieke datum bereikt. Ik stel voor dat u uw lading respons voor de knop op uw einde te maken voordat het naar ons, die in feite de JSON idee dat je in eerste instantie had. Ik weet dat dit een beetje omslachtig te hanteren, maar de lading reactie teruggevoerd is onafhankelijk van de tekst die was voorzien van de boodschapper draad. Ik stel voor dat u ook proberen om je snaren te ontsmetten als u zich zorgen een gebruiker eerder op voorwaarde dat u een probleem zou worden met uw reguliere expressies zijn. Je moet in staat zijn om deze functionaliteit te implementeren als de eerdere gebruikersgegevens worden ontsmet om eventuele problemen met regex / JSON parsing vermijden. Aangezien dit is een implementatie vraag zal ik dit verslag als ongeldig te sluiten. Als u nog steeds op zoek naar aanvullende inzichten en concrete tips voor de uitvoering van deze stroom dan graag naar onze stack overflow waar we Facebook Engineers en een breed scala van leden van de gemeenschap die ook een bijdrage leveren. http://facebook.stackoverflow.com/ Wees voorzichtig en de beste wensen met uw messenger bot. Mark

Deze zin was bijzonder duidelijk:

Ik weet dat dit een beetje omslachtig te hanteren, maar de lading reactie teruggevoerd is onafhankelijk van de tekst die was voorzien van de boodschapper draad.

TLDR; Kan iemand mij laten weten hoe om te voorkomen dat de knop van het loggen van de payload tekenreeks, zodat ik het kan gebruiken om JSON doorgeven aan mijn app zonder dat de gebruiker het zien van het?

De vraag is gesteld op 02/08/2016 om 21:59
bron van user
In andere talen...                            


2 antwoorden

stemmen
1

Vanuit mijn begrip je zegt dat wanneer je op een knop drukt de lading in plaats van tekst op de knop wordt weergegeven.

Bent u het definiëren van uw knoppen als deze?

    {
      type: "postback",
      title: "View Details",
      payload: "details:12345"
    }

Ik zou aanraden het verwijderen van alle speciale tekens die zou knoeien met het interpreteren van uw lading. Zolang de speciale tekens zijn niet cruciaal voor de user experience is dit waarschijnlijk een prima oplossing.

Als dit niet het oplossen van uw probleem:

Kun je een screenshot toont de knop die u indrukt, en het logboek bericht dat u het over hebt toe te voegen? Vanuit mijn begrip je zegt dat wanneer je op een knop drukt de lading in plaats van tekst op de knop wordt weergegeven. Dat is niet het geval voor mij, mijn knoppen tekst verschijnt als ik op een knop.

antwoordde op 03/08/2016 om 16:24
bron van user

stemmen
2

Zorg ervoor om commentaar te geven sendTextMessage()in uw receivedPostback()gesprek:

function receivedPostback(event){
    sendTextMessage(senderID, event.postback.payload);
}
antwoordde op 24/10/2016 om 16:01
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more