2016-08-03 3 views
1

ich erfolgreich Gruß-Text einrichten, und jetzt versuche ich dieses guide eine Nutzlast für eine Gestartet Schaltfläche Get einzurichten:Facebook Messenger API Fehler: Payload kann für Postback-Typ-Taste nicht leer sein

sende ich genau:

curl -X POST -H "Content-Type: application/json" -d '{ 
    "setting_type":"call_to_actions", 
    "thread_state":"new_thread", 
    "call_to_actions":[ 
    { 
     "payload":"START" 
    } 
    ] 
}' "https://graph.facebook.com/v2.6/me/thread_settings?access_token=PAGE_ACCESS_TOKEN" 

aber einen Fehler erhalten:

{"error":{"message":"(#100) Payload cannot be empty for postback type button","type":"OAuthException","code":100,"fbtrace_id":"GWv5XughbUQ"}} 

Was ich falsch gemacht?

+0

Dokumentation sagt 'call_to_actions' muss ein Array von Nutzlast Strings sein, aber [{}] ist ein Array mit ein Objekt. Versuchen Sie es mit einem einfachen Array. (Und wenn das klappt, könntest du genauso gut einen Dokumentationsfehler einreichen, damit sie das Beispiel beheben können. Https://developers.facebook.com/bugs) – CBroe

+0

'" call_to_actions ": [" START " ] verursacht den gleichen Fehler. – Ancle

+0

Scheint mir so, als ob du es richtig machst. Ich würde ein neues Seitenzugriffstoken erstellen und sicherstellen, dass das nicht das Problem ist, obwohl ich bezweifle, dass das das Problem ist. Ich denke, es gibt einen Unterschied zwischen dem, was in dieser Frage gepostet wird und dem Code, den Sie tatsächlich ausführen. – user2322082

Antwort

1

Endlich habe ich meinen Fehler gefunden. CBroe sagte ich habe mich in der Anfrage Struktur falsch.

Ich habe PHP und gesendet:

$requset = [ 
    'call_to_actions' => [ 
     'payload' => 'START' 
    ], 
    'setting_type' => 'call_to_actions', 
    'thread_state' => 'new_thread' 
]; 

Aber richtige Form ist:

$requset = [ 
     'call_to_actions' => [ 
      ['payload' => 'START'] 
     ], 
     'setting_type' => 'call_to_actions', 
     'thread_state' => 'new_thread' 
    ]; 
Verwandte Themen