2016-10-04 12 views
0

メタデータのテキストメッセージを送信する次のコードがあります。ユーザーがテキストで応答すると、メッセージのメタデータフィールドは空になります。バグかメッセンジャーAPIはこの機能をサポートしていませんか?messenger api - メッセージのメタデータが応答に戻ってこない

function sendTextMessage(recipientId, messageText, metadata) { 
    var messageData = { 
    recipient: { 
     id: recipientId 
    }, 
    message: { 
     text: messageText, 
     metadata: metadata, 
    } 
    }; 

    callSendAPI(messageData); 
} 

function callSendAPI(messageData) { 
    request({ 
    uri: 'https://graph.facebook.com/v2.6/me/messages', 
    qs: { access_token: PAGE_ACCESS_TOKEN }, 
    method: 'POST', 
    json: messageData 
    }, function (error, response, body) { 
    if (!error && response.statusCode == 200) { 
     var recipientId = body.recipient_id; 
     var messageId = body.message_id; 

     if (messageId) { 
     console.log("FBHook Successfully sent message with id %s to recipient %s", 
      messageId, recipientId); 
     } else { 
     console.log("FBHook Successfully called Send API for recipient %s", 
      recipientId); 
     } 
    } else { 
     console.error(response.error); 
    } 
    }); 
} 

答えて

2

これは、どのように動作するとは限りません。 "message_echoes"フィールドに登録されている場合、メタデータフィールドはすぐにwebhookに返されます。これは、ページにリンクされた複数のアプリの調整のためのものです。変更履歴から

からhttps://developers.facebook.com/docs/messenger-platform/changelog

は、「新しいフィールド:メタデータは、送信APIから渡された、複数のボットbetwen相互運用性を支援するために、message_echoesコールバックに送られました。」

関連する問題