2016-06-29 20 views
16

Messenger botum için karşılama mesajı yapılandırırken garip bir hata alıyorum. Aynı kodu (aşağıda gösterildiği gibi) kullanıyorum ve dün gece kadar iyi çalışıyor. Hem cURL hem de Postman ile denedim. Onların ikisi de işe yaramıyor. Yukarıdaki kod yürütmeFacebook Messenger Platformu/bot ile garip hata Welcome Confugration

curl -X POST -H "Content-Type: application/json" -d '{ 
    "setting_type":"call_to_actions", 
    "thread_state":"new_thread", 
    "call_to_actions":[ 
    { 
     "message":{ 
     "text":"Welcome to My Company!" 
     } 
    } 
    ] 
}' "https://graph.facebook.com/v2.6/<PAGE_ID>/thread_settings?access_token=<PAGE_ACCESS_TOKEN>" 

Hata mesajı:

{"error":{"message":"(#100) Invalid keys \"message\" were found in param \"call_to_actions[0]\".","type":"OAuthException","code":100,"fbtrace_id":"Hn42Wa+hapI"}}% 

Ben PAGE_ID ve PAGE_ACCESS_TOKEN hem Aşağıdaki kod çalışıyor ile karşılama mesajı silmeye çalışırken olarak doğru teyit edebilir. Facebook official API doc gösterildiği gibi

curl -X POST -H "Content-Type: application/json" -d '{ 
    "setting_type":"call_to_actions", 
    "thread_state":"new_thread", 
    "call_to_actions":[ 
    { 
     "message":{ 
     "text":"Welcome to My Company!" 
     } 
    } 
    ] 
}' "https://graph.facebook.com/v2.6/<PAGE_ID>/thread_settings?access_token=<PAGE_ACCESS_TOKEN>" 

Ayrıca, ben kullanıyorum kod tamamen aynıdır. Neden "mesaj" ın geçerli bir anahtar olmadığını söylüyorum anlamıyorum. Aynı sorunu yaşayan var mı? Facebook api değiştirdi mi?

Herhangi bir yardım çok takdir edilecektir!

+1

Bunu saatlerce çözmeye çalışıyorum. Aynı problemi olan insanları gördüğümüze sevindim, bu hatayı doğrulayabileceğimiz bir şekilde bizden değiliz. Belki belgelenmemiş bir API değişikliği? – ericls

+1

@ericls Belgelenmemiş bir API değişikliği olduğunu düşünüyorum. Umarım daha fazla bildirim yakında verilecektir. –

+1

Hata burada bildirilmiştir: https://developers.facebook.com/bugs/1751749508372552/ – sigmus

cevap

-1

Bu hata, bir API değişikliğinden kaynaklandı.

Yeni arama: Bir kullanıcı basın renkli "Başlarken" Eğer

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/<PAGE_ID>/thread_settings?access_token=<PAGE_TOKEN>" 

Sadece {"payload":"START"}

gibi bir yük eklemek, kendi MessageHandler (webhook) bu yükü alırlar. $incomingMessage == "START"'un olup olmadığını kontrol edin ve yapılandırılmış mesajınızı veya istediğiniz her şeyi geri gönderin.

Daha önce olduğu gibi mesajlar artık desteklenmiyor.

Hata raporu: https://developers.facebook.com/bugs/1751749508372552/docs şimdi güncellenir

7

, artık payload parametrede sizin yükü tanımlamak için (UTF-8 kodlu dize) ihtiyaç örn:

"call_to_actions":[ 
    { 
     "payload":"USER_DEFINED_PAYLOAD" 
    } 
] 
+0

Güncellenen dokümanlar da çalışmıyor. Aşağıdaki hatayı aldım: '{" error ": {" message ":" (# 3) Uygulama beyaz listede olmalı "," şunu yazın: "OAuthException", "code": 3, "fbtrace_id": " FiDgnEghdY \/"}}' –

+0

Aynı şey benim için - "thread_settings" son nokta sadece 2 gün önce iyi çalıştı. Şimdi "yük yükü" kullandıktan sonra beyaz liste hatasını alıyorum. – andy250

+1

te @ leihe, uygulamanızın kum havuzu (test) modunda olmadığından emin misiniz? –

1

Aynı sorunu alıyorum ve düzeltin. Ben isteğiniz json

let messageData = { 
"setting_type":"call_to_actions", 
"thread_state":"new_thread", 
"call_to_actions":[ 
    { 
    "payload":"welcome_payload" 
    } 
] 
} 
request({ 
    url: 'https://graph.facebook.com/v2.6/me/thread_settings', 
    qs: {access_token:token}, 
    method: 'POST', 
    json: { 
     messageData 
    } 
} 

olduğunu düşünüyorum ama bir benim için çalışmak bu

request({ 
     url: 'https://graph.facebook.com/v2.6/me/thread_settings', 
     qs: {access_token:token}, 
     method: 'POST', 
     json: { 
      setting_type:"call_to_actions", 
      thread_state:"new_thread", 
      call_to_actions:[ 
       { 
       "payload":"welcome_payload" 
       } 
      ] 
     } 
    } 

deneyin çalışmak ve hiçbir "setting_type" = = var diyecekler oturum olmaz.