2016-09-24 20 views
1


C#アプリケーションからMicrosoftボットフレームワークで作成したFacebookボットに簡単なメッセージを送信します。 Skypeで
これはperfeclty動作しますが、私はメッセンジャーのボットをしようとすると、私は、次のリクエストのエラーを取得:
REST APIボットフレームワーク経由でFacebookボットにメッセージを送信できません。

{ 
    "message": "The 'form' field is unrecognized" 
} 

私がメッセージを送信するために、以下の活動を使用しています:

{ 
"type": "message", 
"id": "...", 
"timestamp": "2016-09-24T02:47:03.8956722Z", 
"serviceUrl": "https://facebook.botframework.com", 
"channelId": "facebook", 
"from": { 
    "id": "...", 
    "name": "..." 
}, 
"conversation": { 
    "id": "..." 
}, 
"recipient": { 
    "id": "...", 
    "name": "..." 
}, 
"text": "Hy, from remote!", 
"channelData": { 
    "sender": { 
    "id": "..." 
}, 
"recipient": { 
    "id": "..." 
}, 
"timestamp": 1474685223681, 
"message": { 
    "mid": "...", 
    "seq": 35, 
    "text": "Testtest" 
} 

を} }


実際には、[from]フィールドが実際に表示されます。
「from」フィールドを削除すると、リクエストメッセージが必要であると表示され、フィールドを何らかの形で認識します。多分それはちょうど間違った方法でフォーマットされます。
これをどのように機能させることができますか?

+0

は確かにあなたがタイプミスを持っていない:

データは、ボットに送られました。このようなメッセージから抽出することができますか?上記のメッセージは、「フォーム」フィールドが認識されず、「元」フィールドではないことを示しています。 – Lars

答えて

2

引数の少ないメッセージを作成してみます。
Facebookの場合、何らかの理由でフィールドから必要がありますが、他のすべてのパラメータを指定する必要はありません。

には、以下の要求を試してみてください。

{ 
    "type": "message", 
    "textFormat": "plain", 
    "text": "Hello messenger!", 
    "from": 
    { 
    "id": "your-id-from-recipient-id-in-the-message-received", 
    "name": "your-name-from-recipient-name-in-the-message-received" 
    } 
} 

正確にIDとユーザーがメッセージを送信したときに受け取った名前を使用することが重要です。

{ 
    "type": "message", 
    "id": "<snip>", 
    "timestamp": "2017-01-06T14:09:36.8882093Z", 
    "serviceUrl": "https://facebook.botframework.com", 
    "channelId": "facebook", 
    "from": { 
    "id": "<snip>", 
    "name": "<snip>" 
    }, 
    "conversation": { 
    "isGroup": false, 
    "id": "<snip>" 
    }, 
    "recipient": { 
    "id": "your-id-from-recipient-id-in-the-message-received", 
    "name": "your-name-from-recipient-name-in-the-message-received" 
    }, 
    <snip> 
} 
関連する問題