/// <summary> /// Boundio-CSharpClientを使うためのサンプルコードです。 /// </summary> /// <param name="args"></param> static void Main(string[] args) { //再生する音声を指定します。 //この例では、サーバーに音声が登録されていることが前提です。 CastCollection coll = new CastCollection(); coll.Add("000001"); //電話をかけます。 //CallClient cc = new CallClient("ユーザーシリアルID", "アプリケーションID"); //var retval = cc.Call("電話番号", coll); CallClient cc = new CallClient("aaaabbbbccccdddd", "aaaabbbbccccdddd"); var retval = cc.Call("09012341234", coll); }
public void AddRange(CastCollection collection) { this.coll.AddRange(collection.coll); }
/// <summary> /// 架電を開始します。 /// </summary> /// <param name="phoneNo">電話番号(ハイフンなしの数字だけ)</param> /// <param name="casts">再生させる音声</param> /// <returns>通話結果</returns> public CallResult Call(string phoneNo, CastCollection casts) { NameValueCollection data = new NameValueCollection(); data["key"] = this.ApiKey; data["tel_to"] = phoneNo; data["cast"] = casts.ToString(); //リクエスト投げる string resjson = null; { string param = string.Empty; foreach (string s in data.Keys) { param += String.Format("{0}={1}&", s, data[s]); } byte[] body = Encoding.ASCII.GetBytes(param); // リクエストの作成 HttpWebRequest req = (HttpWebRequest)WebRequest.Create(this.Url); req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; req.ContentLength = body.Length; // ポスト・データの書き込み using (Stream reqStream = req.GetRequestStream()) { reqStream.Write(body, 0, body.Length); } // レスポンスの取得と読み込み WebResponse response = req.GetResponse(); using (Stream resStream = response.GetResponseStream()) { using (StreamReader sr = new StreamReader(resStream, Encoding.UTF8)) { resjson = sr.ReadToEnd(); } } } //戻ってきたJSONを解釈 CallResult retval = null; using (MemoryStream st = new MemoryStream(Encoding.UTF8.GetBytes(resjson))) { DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(CallResult)); retval = (CallResult)serializer.ReadObject(st); } return retval; }