REST(Representational State Transfer)はwebアプリケーションの構築スタイルの一種です。HTTP GET/POSTによってリクエストを送信し、レスポンスはXMLで返されます。SOAPのようなRPCの構築と比べるとサーバからクライアントを分離することが出来る為、人気です。
REST(Representational State Transfer)はwebアプリケーションの構築スタイルの一種です。HTTP GET/POSTによってリクエストを送信し、レスポンスはXMLで返されます。SOAPのようなRPCの構築と比べるとサーバからクライアントを分離することが出来る為、人気です。
0グッド
0クリップ
投稿2017/01/20 06:40
0
0
###前提・実現したいこと
【IBM Watson音声認識のAPI呼び出し】
IBM Watson の HTTP REST API で speech to text の recognize を呼び出したいです。
呼び出す部分の処理はC#で書いてます。
sessionの作成はできていて、Responseは正常に返ってきました。
(以下のURLにsession_idが入った状態で返ってきました。)
"recognize": "https://stream.watsonplatform.net/speech-to-text/api/v1/sessions/<session_id>"
を使用してAPI呼び出しをしています。
Watson の Speech to text を REST API で呼び出すときに必要なヘッダやパラメータ、音声データの渡し方等ご指摘いただきたいです。
###発生している問題・エラーメッセージ
リモートサーバーがエラーを返しました:(401) 許可されていません
###該当のソースコード
C#
1String url ="https://stream.watsonplatform.net/speech-to-text/api/v1/sessions/<session_id>";23Dictionary<string, object> param = new Dictionary<string, object>();45// byte[] data 6param.Add("data", new FileParameter(data,"","audio/ogg;codec=opus"));78HttpWebRequest wr =(HttpWebRequest)WebRequest.Create(url);9CreateRequestHeaders(wr, m_username, m_passwrd,"POST", null);10wr.Proxy =GetWebProxy();11wr.ContentLength = size;1213using(Stream rs = wr.GetRequestStream())14{15 rs.Write(data,0, size);16 rs.Close();17}1819HttpWebResponse wres;20try
21{22 wres = wr.GetResponse() as HttpWebResponse;23}24catch(WebException webEx)25{26 Loggers.Output.Error(webEx.ToString());27}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/24 23:29
2017/01/25 00:00 編集