teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

追追記

2017/10/06 14:24

投稿

abs123
abs123

スコア1280

answer CHANGED
@@ -10,7 +10,7 @@
10
10
  ・multipartの記述は、multipartの仕様に沿った形に修正("<" ">"を削除)
11
11
  ・一番最初のContent-Typeの設定をsetRequestPropertyで行うように
12
12
  ・音声データはバイナリを直接書き込み
13
-
13
+ (他にしれっと治ってるところがあるかもしれないです。)
14
14
  ```Java
15
15
  URL url = new URL("https://api.apigw.smt.docomo.ne.jp/amiVoice/v1/recognize?APIKEY=XXXXXXXXXXXXXXXXX");
16
16
 

2

修正

2017/10/06 14:24

投稿

abs123
abs123

スコア1280

answer CHANGED
@@ -6,7 +6,7 @@
6
6
  含めたらいけなかったです。
7
7
 
8
8
  API弄って処理が通ったっぽいコードを置いておきます。
9
- 改善点としては3つ、
9
+ 変更箇所としては3つ、
10
10
  ・multipartの記述は、multipartの仕様に沿った形に修正("<" ">"を削除)
11
11
  ・一番最初のContent-Typeの設定をsetRequestPropertyで行うように
12
12
  ・音声データはバイナリを直接書き込み

1

追記

2017/10/06 14:15

投稿

abs123
abs123

スコア1280

answer CHANGED
@@ -1,2 +1,45 @@
1
- ```<``` ```>```こいつら含めたらいけないとか・・・?
1
+ "<"">"こいつら含めたらいけないとか・・・?
2
+
2
- [境界区切子](https://wiki.suikawiki.org/n/%E5%A2%83%E7%95%8C%E5%8C%BA%E5%88%87%E5%AD%90#anchor-31)
3
+ [境界区切子](https://wiki.suikawiki.org/n/%E5%A2%83%E7%95%8C%E5%8C%BA%E5%88%87%E5%AD%90#anchor-31)
4
+
5
+ 追記
6
+ 含めたらいけなかったです。
7
+
8
+ API弄って処理が通ったっぽいコードを置いておきます。
9
+ 改善点としては3つ、
10
+ ・multipartの記述は、multipartの仕様に沿った形に修正("<" ">"を削除)
11
+ ・一番最初のContent-Typeの設定をsetRequestPropertyで行うように
12
+ ・音声データはバイナリを直接書き込み
13
+
14
+ ```Java
15
+ URL url = new URL("https://api.apigw.smt.docomo.ne.jp/amiVoice/v1/recognize?APIKEY=XXXXXXXXXXXXXXXXX");
16
+
17
+ HttpsURLConnection con = (HttpsURLConnection)url.openConnection();
18
+ con.setDoOutput(true);
19
+
20
+ con.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + boundary);
21
+
22
+ OutputStream outputStream = con.getOutputStream();
23
+ outputStream.write(("--" + boundary + "\r\n").getBytes(charset));
24
+ outputStream.write(("Content-Disposition: form-data; name=\"v\"\r\n").getBytes(charset));
25
+ outputStream.write(("\r\n").getBytes(charset));
26
+ outputStream.write(("on").getBytes(charset));
27
+ outputStream.write(("\r\n--" + boundary + "\r\n").getBytes(charset));
28
+ outputStream.write(("Content-Disposition: form-data; name=\"a\"; filename=\"audio_sample_amivoice.raw\"\r\n").getBytes(charset));
29
+ outputStream.write(("Content-Type: application/octet-stream\r\n").getBytes(charset));
30
+ outputStream.write(("\r\n").getBytes(charset));
31
+ outputStream.write(Files.readAllBytes(p));
32
+ outputStream.write(("\r\n--" + boundary + "--\r\n").getBytes(charset));
33
+ outputStream.flush();
34
+ outputStream.close();
35
+
36
+ //受信
37
+ InputStream stream = con.getInputStream();
38
+ BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
39
+ String responseData = null;
40
+ while ((responseData = reader.readLine()) != null) {
41
+ System.out.println(responseData);
42
+ }
43
+
44
+ stream.close();
45
+ ```