0

TropoSharp を使用して SMS メッセージを携帯電話に送信しています。奇妙な点は、SMS メッセージがまったく届かなかったことです。電話がかかってきたのですが、非常に短く、その人が電話で何を話しているのかわかりませんでした。

コードを見ると、何が問題なのかわかりませんでした。

            string voiceToken = "xxx";
        string messagingToken = "xxx";
        IDictionary<string, string> parameters = new Dictionary<String, String>();
        parameters.Add("sendToNumber", "xxx");
        parameters.Add("sendFromNumber", "+1 201-xxx-04xx");
        string channel = Channel.Text;
        parameters.Add("channel", channel);
        string network = Network.SMS;
        parameters.Add("network", network);
        parameters.Add("msg", HttpUtility.UrlEncode("This is a test message from C#."));
        Tropo tropo = new Tropo();
        XmlDocument doc = new XmlDocument();
        string token = channel == Channel.Text ? messagingToken : voiceToken;
        doc.Load(tropo.CreateSession(token, parameters));
        Console.WriteLine("Result: " + doc.SelectSingleNode("session/success").InnerText.ToUpper());
        Console.WriteLine("Token: " + doc.SelectSingleNode("session/token").InnerText);
        Console.ReadKey();

これがhttpリクエストです(一部の機密情報を削除しました)

GET http://api.tropo.com/1.0/sessions?action=create&token=xxxxx&sendToNumber=xxx&sendFromNumber=+1%20201-xxx-xxxx&channel=TEXT&network=SMS&msg=This+is+a+test+message+from+C%23.& HTTP/1.1
Host: api.tropo.com
Connection: Keep-Alive

これが応答です(リクエストが正常に送信されたことを意味するだけだと思います):

<session><success>true</success><token>xxxx</token><id>5c994e73ab85ff47fd1af4ffd4002e00

ここでどこが間違っていたのか分かりますか? ありがとう

4

2 に答える 2

0

WebAPI ではなく、スクリプト アプローチを使用していますね。アプリケーションが使用しているスクリプトを投稿できますか? セッションを作成するときは、変数をスクリプトに渡すだけだと私は理解しています。スクリプトはこれらの変数を完全に無視して、音声通話を行っているだけかもしれません。

最後の点については同意します。その応答は、セッションの作成に成功したことを示しているだけです。プロセスの他のステップに関する追加情報は返されません。

于 2013-12-05T19:54:04.077 に答える
0

アプリケーションには 2 つのトークンがあり、1 つは音声用、もう 1 つはメッセージング用です。メッセージ用に使用していますか?また、アウトバウンド メッセージングは​​、アプリケーションのデフォルトではオンになっていません。開発のために有効にするには、Tropo サポートに連絡する必要があります。これを行うには、アカウントにいくらかのお金を入れる必要があるかもしれませんが、開発中にこの機能を悪用し始めない限り、請求されることはありません.

于 2013-12-06T14:56:42.130 に答える