質問編集履歴

5

ああ

2019/07/30 23:43

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- google apps script エラー
1
+ google apps script エラー
test CHANGED
@@ -14,8 +14,6 @@
14
14
 
15
15
  ```ここに言語を入力
16
16
 
17
- return OAuth2.createService('GoogleCloud:' + Session.getActiveUser().getEmail())
18
-
19
17
  ReferenceError: 「OAuth2」が定義されていません。(行 42、ファイル「コード」)
20
18
 
21
19
  ```エラー文章
@@ -26,8 +24,6 @@
26
24
 
27
25
  ```
28
26
 
29
- return OAuth2.createService('GoogleCloud:' + Session.getActiveUser().getEmail())
30
-
31
27
  ReferenceError: 「OAuth2」が定義されていません。(行 42、ファイル「container」
32
28
 
33
29
  ```

4

2019/07/30 23:43

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- google apps script エラー speech.googleapis.com/v1/speech:longrunningrecognize"
1
+ google apps script エラー
test CHANGED
@@ -31,351 +31,3 @@
31
31
  ReferenceError: 「OAuth2」が定義されていません。(行 42、ファイル「container」
32
32
 
33
33
  ```
34
-
35
-
36
-
37
- ```
38
-
39
- var file = DriveApp.getFileById(fileid);
40
-
41
- 指定された ID のアイテムは見つからなかったか、アクセスする権限がありません。(行 65、ファイル「container」)
42
-
43
- ```
44
-
45
-
46
-
47
-
48
-
49
- #質問2:oauth2
50
-
51
-
52
-
53
- 特にoauth2の部分についてわからずエラー部分についてご教示頂けないでしょうか?
54
-
55
- (以下projectはxxxに変えております)
56
-
57
-
58
-
59
- ```ここに言語を入力
60
-
61
- https://console.developers.google.com/apis/credentials?project=xxxxx
62
-
63
- ```
64
-
65
- このURLの中に
66
-
67
-
68
-
69
- ![イメージ説明](0a7fcb2d24697415574648ae3d4bf0f3.jpeg)
70
-
71
-
72
-
73
- API キー
74
-
75
- Oauth2.0クライアントID
76
-
77
- サービス アカウント キー
78
-
79
-
80
-
81
- と三種類あり全て作成をしております。
82
-
83
-
84
-
85
- filelinkに設定するjsonのURLは上記
86
-
87
-
88
-
89
- API キー
90
-
91
- Oauth2.0クライアントID
92
-
93
- サービス アカウント キー
94
-
95
-
96
-
97
- のどれのjsonになるか教えて頂けないでしょうか?
98
-
99
-
100
-
101
- var filelink = ""; //JSON Keyファイルを指定 -----このfilelinkに入るjsonURLです。
102
-
103
-
104
-
105
- //OAuth2認証を実行する
106
-
107
- function startoauth(){
108
-
109
-
110
-
111
- #しらべたこと
112
-
113
- Google の拡張サービス画面が表示されたら、利用したいAPIを「ON」にして、「Google デベロッパー コンソール」をクリックします。この操作をせずに拡張サービスを利用したスクリプトを実行すると、「ReferenceError: 「*****」が定義されていません。」といったエラーが発生する。しかし拡張サービスの中に該当するものがない。
114
-
115
- https://www.ka-net.org/blog/?p=4372
116
-
117
-
118
-
119
- #やったこと
120
-
121
-
122
-
123
- ```ここに言語を入力
124
-
125
- // 1. JSONキーファイルを取得して認証する
126
-
127
- // 2. Google Picker用の準備 picker部分はhtmlかと思いましたので追記しておりません
128
-
129
- // 3. 変換用のメインコード
130
-
131
-
132
-
133
- //初期値
134
-
135
- // 15行目 グーグルドライブ上でjsonファイルをURLにしたものをペースト
136
-
137
-
138
-
139
-
140
-
141
- // 1. JSONキーファイルを取得して認証する
142
-
143
-
144
-
145
-
146
-
147
- //認証用各種変数
148
-
149
- var tokenurl = "https://accounts.google.com/o/oauth2/token"
150
-
151
- var filelink = "https://drive.google.com/open?id="; //JSON Keyファイルを指定
152
-
153
-
154
-
155
- //OAuth2認証を実行する
156
-
157
- function startoauth(){
158
-
159
- //UIを取得する
160
-
161
- var ui = SpreadsheetApp.getUi();
162
-
163
-
164
-
165
- //認証を実行する
166
-
167
- var service = checkOAuth();
168
-
169
- ui.alert("認証が完了し、Access Tokenを取得しました。")
170
-
171
- }
172
-
173
-
174
-
175
- //Google DriveにあるサービスアカウントキーのJSONファイルを取得する
176
-
177
- function getServiceAccKey(){
178
-
179
- //filelinkからFileIDを取得する
180
-
181
- var fileId = filelink.match(/[\w-]{25,}/)[0];
182
-
183
-
184
-
185
- //JSONファイルの中身を取得する
186
-
187
- var content = DriveApp.getFileById(fileId).getAs("application/json").getDataAsString();
188
-
189
- return JSON.parse(content);
190
-
191
- }
192
-
193
-
194
-
195
- //OAuth2.0認証を実行する
196
-
197
- function checkOAuth() {
198
-
199
- //JSONファイルの中身を取得する
200
-
201
- var privateKeys = getServiceAccKey();
202
-
203
-
204
-
205
- return OAuth2.createService('GoogleCloud:' + Session.getActiveUser().getEmail())
206
-
207
- //アクセストークンの取得用URLをセット
208
-
209
- .setTokenUrl(tokenurl)
210
-
211
-
212
-
213
- //プライベートキーとクライアントIDをセットする
214
-
215
- .setPrivateKey(privateKeys['private_key'])
216
-
217
- .setIssuer(privateKeys['client_email'])
218
-
219
-
220
-
221
- //Access Tokenをスクリプトプロパティにセットする
222
-
223
- .setPropertyStore(PropertiesService.getScriptProperties())
224
-
225
-
226
-
227
- //スコープを設定する
228
-
229
- .setScope('https://www.googleapis.com/auth/cloud-platform');
230
-
231
- }
232
-
233
-
234
-
235
-
236
-
237
- // 3. 変換用のメインコード
238
-
239
-
240
-
241
-
242
-
243
- //FLACファイルをテキストに変換して表示する
244
-
245
- function convertAtoT(fileid) {
246
-
247
- var ui = SpreadsheetApp.getUi();
248
-
249
- //ファイルの情報と言語の設定
250
-
251
- var file = DriveApp.getFileById(fileid);
252
-
253
- var bytes = file.getBlob().getBytes();
254
-
255
- var lang = "ja-jp";
256
-
257
-
258
-
259
- var payload = {
260
-
261
- config: {
262
-
263
- //"encoding": "LINEAR16",
264
-
265
- //"sampleRateHertz": 16000,
266
-
267
- languageCode: "ja-JP"
268
-
269
- },
270
-
271
- audio: {
272
-
273
- //音声ファイルをBASE64でエンコードする
274
-
275
- content:Utilities.base64Encode(bytes)
276
-
277
- }
278
-
279
- };
280
-
281
-
282
-
283
- //OAuth認証情報を取得
284
-
285
- var service = checkOAuth();
286
-
287
-
288
-
289
- //FLACファイルをAPIへ渡す
290
-
291
- if (service.hasAccess()) {
292
-
293
- //Access Tokenを取得
294
-
295
- var accessToken = service.getAccessToken();
296
-
297
-
298
-
299
- try{
300
-
301
- //POSTで通信
302
-
303
- var url = "https://speech.googleapis.com/v1/speech:longrunningrecognize";
304
-
305
- var response = UrlFetchApp.fetch(url, {
306
-
307
- method: 'POST',
308
-
309
- headers: {
310
-
311
- Authorization: 'Bearer ' + accessToken
312
-
313
- },
314
-
315
- contentType: "application/json",
316
-
317
- payload: JSON.stringify(payload)
318
-
319
- });
320
-
321
-
322
-
323
- //変換結果を取得する
324
-
325
- var result = JSON.parse(response.getContentText());
326
-
327
-
328
-
329
- //次のUrlFechApp実行まで待ちまでしばらくスリープさせる
330
-
331
- Utilities.sleep(10 * 1000);
332
-
333
-
334
-
335
- //文字起こしデータを取得する
336
-
337
- url = "https://speech.googleapis.com/v1/operations/" + result.name;
338
-
339
- var response = UrlFetchApp.fetch(url, {
340
-
341
- method: 'GET',
342
-
343
- headers: {
344
-
345
- Authorization: 'Bearer ' + accessToken
346
-
347
- }
348
-
349
- });
350
-
351
-
352
-
353
- //結果をメッセージで表示
354
-
355
- var retjson;
356
-
357
- var result2 = JSON.parse(response.getContentText());
358
-
359
- retjson = result2.response.results[0].alternatives[0].transcript
360
-
361
- ui.alert(retjson);
362
-
363
-
364
-
365
- }catch(e){
366
-
367
- ui.alert("error:" + e.message);
368
-
369
- }
370
-
371
- }
372
-
373
- }
374
-
375
-
376
-
377
- ```
378
-
379
-
380
-
381
- 宜しくお願い致します。

3

2019/07/30 23:41

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -108,6 +108,12 @@
108
108
 
109
109
 
110
110
 
111
+ #しらべたこと
112
+
113
+ Google の拡張サービス画面が表示されたら、利用したいAPIを「ON」にして、「Google デベロッパー コンソール」をクリックします。この操作をせずに拡張サービスを利用したスクリプトを実行すると、「ReferenceError: 「*****」が定義されていません。」といったエラーが発生する。しかし拡張サービスの中に該当するものがない。
114
+
115
+ https://www.ka-net.org/blog/?p=4372
116
+
111
117
 
112
118
 
113
119
  #やったこと

2

123

2019/07/30 23:33

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,10 +1,4 @@
1
- 3点質問があります。宜しくお願いします。
1
+ 点質問があります。宜しくお願いします。
2
-
3
-
4
-
5
- 該当記事URL
6
-
7
- https://officeforest.org/wp/2018/10/28/google-apps-script%E3%81%A8cloud-speech-api%E3%81%A7%E6%96%87%E5%AD%97%E8%B5%B7%E3%81%93%E3%81%97/
8
2
 
9
3
 
10
4
 
@@ -12,113 +6,143 @@
12
6
 
13
7
 
14
8
 
9
+ Oauth2の設定でエラーがでてしまい大変困っています。
10
+
11
+ 具体的にエラーは以下3箇所になります。oAuth2とfileid設定についてご教示ください。
12
+
13
+
14
+
15
+ ```ここに言語を入力
16
+
17
+ return OAuth2.createService('GoogleCloud:' + Session.getActiveUser().getEmail())
18
+
19
+ ReferenceError: 「OAuth2」が定義されていません。(行 42、ファイル「コード」)
20
+
21
+ ```エラー文章
22
+
23
+
24
+
25
+
26
+
27
+ ```
28
+
29
+ return OAuth2.createService('GoogleCloud:' + Session.getActiveUser().getEmail())
30
+
31
+ ReferenceError: 「OAuth2」が定義されていません。(行 42、ファイル「container」
32
+
33
+ ```
34
+
35
+
36
+
37
+ ```
38
+
39
+ var file = DriveApp.getFileById(fileid);
40
+
41
+ 指定された ID のアイテムは見つからなかったか、アクセスする権限がありません。(行 65、ファイル「container」)
42
+
43
+ ```
44
+
45
+
46
+
47
+
48
+
49
+ #質問2:oauth2
50
+
51
+
52
+
53
+ 特にoauth2の部分についてわからずエラー部分についてご教示頂けないでしょうか?
54
+
55
+ (以下projectはxxxに変えております)
56
+
57
+
58
+
59
+ ```ここに言語を入力
60
+
61
+ https://console.developers.google.com/apis/credentials?project=xxxxx
62
+
63
+ ```
64
+
65
+ このURLの中に
66
+
67
+
68
+
69
+ ![イメージ説明](0a7fcb2d24697415574648ae3d4bf0f3.jpeg)
70
+
71
+
72
+
73
+ API キー
74
+
75
+ Oauth2.0クライアントID
76
+
77
+ サービス アカウント キー
78
+
79
+
80
+
81
+ と三種類あり全て作成をしております。
82
+
83
+
84
+
15
- flacは用意できるの事の
85
+ filelinkに設定すjsonURLは上
86
+
87
+
88
+
89
+ API キー
90
+
91
+ Oauth2.0クライアントID
92
+
93
+ サービス アカウント キー
94
+
95
+
96
+
97
+ のどれのjsonになるか教えて頂けないでしょうか?
98
+
99
+
100
+
101
+ var filelink = ""; //JSON Keyファイルを指定 -----このfilelinkに入るjsonURLです。
102
+
103
+
104
+
105
+ //OAuth2認証を実行する
106
+
107
+ function startoauth(){
108
+
109
+
110
+
111
+
112
+
113
+ #やったこと
114
+
115
+
116
+
117
+ ```ここに言語を入力
16
118
 
17
119
  // 1. JSONキーファイルを取得して認証する
18
120
 
121
+ // 2. Google Picker用の準備 picker部分はhtmlかと思いましたので追記しておりません
122
+
19
123
  // 3. 変換用のメインコード
20
124
 
21
- のみGAS上にコピーして動かそうとしているのですが以下
125
+
22
-
23
- Oauth2の設定とSpreadsheetApp.getUiでエラーがでてしまい大変困っています。
126
+
24
-
25
- 具体的にエラーは以下3箇所になります。
127
+ //初期値
26
-
27
-
28
-
29
-
30
-
31
- ```ここに言語を入力
128
+
32
-
33
- var ui = SpreadsheetApp.getUi();
34
-
35
- ```
36
-
37
-
38
-
39
- エラー文章
40
-
41
- このコンテキストから SpreadsheetApp.getUi() を呼び出せません(行 20、ファイル「コード」)
42
-
43
-
44
-
45
- ```ここに言語を入力
46
-
47
- return OAuth2.createService('GoogleCloud:' + Session.getActiveUser().getEmail())
48
-
49
-
50
-
51
- ```エラー文章
52
-
53
- ReferenceError: 「OAuth2」が定義されていません。(行 42、ファイル「コド」)
129
+ // 15行目 グーグルドライブ上でjsonファイルをURLにしたものをペスト
54
-
55
-
56
-
57
- ```ここに言語を入力
130
+
58
-
131
+
132
+
133
+
134
+
59
- var ui = SpreadsheetApp.getUi();
135
+ // 1. JSONキーファイルを取得して認証する
60
-
61
- ```
136
+
62
-
63
- エラー文章
137
+
64
-
65
- このコンテキストから SpreadsheetApp.getUi() を呼び出せません(行 63、ファイル「コード」
138
+
66
-
67
-
68
-
69
- #質問2:oauth2
139
+
70
-
71
-
72
-
73
- 特にoauth2の部分についてわからずエラー部分についてご教示頂けないでしょうか?
140
+
74
-
75
- (以下projectはxxxにえております)
141
+ //認証用各種
76
-
77
-
78
-
79
- ```ここに言語を入力
142
+
80
-
81
- https://console.developers.google.com/apis/credentials?project=xxxxx
143
+ var tokenurl = "https://accounts.google.com/o/oauth2/token"
82
-
83
- ```
144
+
84
-
85
- このURLの中に
86
-
87
-
88
-
89
- ![イメージ説明](0a7fcb2d24697415574648ae3d4bf0f3.jpeg)
90
-
91
-
92
-
93
- API キー
94
-
95
- Oauth2.0クライアントID
96
-
97
- サービス アカウント キー
98
-
99
-
100
-
101
- と三種類あり全て作成をしております。
102
-
103
-
104
-
105
- filelinkに設定するjsonのURLは上記
106
-
107
-
108
-
109
- API キー
110
-
111
- Oauth2.0クライアントID
112
-
113
- サービス アカウント キー
114
-
115
-
116
-
117
- のどれのjsonになるか教えて頂けないでしょうか?
118
-
119
-
120
-
121
- var filelink = ""; //JSON Keyファイルを指定 -----このfilelinkに入るjsonURLです。
145
+ var filelink = "https://drive.google.com/open?id="; //JSON Keyファイルを指定
122
146
 
123
147
 
124
148
 
@@ -126,272 +150,222 @@
126
150
 
127
151
  function startoauth(){
128
152
 
129
-
130
-
131
- #質問3:スプレッドシートエラーについて
153
+ //UIを取得する
132
-
154
+
133
- SpreadsheetApp.getUiでエラーとなってしまいますがどのようにすればいいでしょうか?
155
+ var ui = SpreadsheetApp.getUi();
134
-
135
-
136
-
137
- #やったこと
156
+
138
-
139
-
140
-
157
+
158
+
141
- ```ここに言語入力
159
+ //認証実行する
160
+
142
-
161
+ var service = checkOAuth();
162
+
163
+ ui.alert("認証が完了し、Access Tokenを取得しました。")
164
+
165
+ }
166
+
167
+
168
+
169
+ //Google DriveにあるサービスアカウントキーのJSONファイルを取得する
170
+
171
+ function getServiceAccKey(){
172
+
173
+ //filelinkからFileIDを取得する
174
+
175
+ var fileId = filelink.match(/[\w-]{25,}/)[0];
176
+
177
+
178
+
143
- // 1. JSONキーファイルを取得して認証する
179
+ //JSONファイルの中身を取得する
180
+
144
-
181
+ var content = DriveApp.getFileById(fileId).getAs("application/json").getDataAsString();
182
+
183
+ return JSON.parse(content);
184
+
185
+ }
186
+
187
+
188
+
189
+ //OAuth2.0認証を実行する
190
+
191
+ function checkOAuth() {
192
+
193
+ //JSONファイルの中身を取得する
194
+
195
+ var privateKeys = getServiceAccKey();
196
+
197
+
198
+
199
+ return OAuth2.createService('GoogleCloud:' + Session.getActiveUser().getEmail())
200
+
201
+ //アクセストークンの取得用URLをセット
202
+
203
+ .setTokenUrl(tokenurl)
204
+
205
+
206
+
207
+ //プライベートキーとクライアントIDをセットする
208
+
209
+ .setPrivateKey(privateKeys['private_key'])
210
+
211
+ .setIssuer(privateKeys['client_email'])
212
+
213
+
214
+
215
+ //Access Tokenをスクリプトプロパティにセットする
216
+
217
+ .setPropertyStore(PropertiesService.getScriptProperties())
218
+
219
+
220
+
221
+ //スコープを設定する
222
+
145
- // 2. Google Picker用の準備 picker部分はhtmlかと思いましたので追記しておりません
223
+ .setScope('https://www.googleapis.com/auth/cloud-platform');
224
+
225
+ }
226
+
227
+
228
+
229
+
146
230
 
147
231
  // 3. 変換用のメインコード
148
232
 
149
233
 
150
234
 
151
- //初期値
235
+
152
-
153
- // 15行目 グーグルドライブ上でjsonファイルをURLにしたものをペースト
236
+
154
-
155
-
156
-
157
-
158
-
159
-
160
-
161
- // 1. JSONキーファイルを取得して認証する
237
+ //FLACファイルをテキストに変換して表示する
162
-
163
-
164
-
165
-
166
-
167
- //認証用各種変数
238
+
168
-
169
- var tokenurl = "https://accounts.google.com/o/oauth2/token"
170
-
171
- var filelink = "https://drive.google.com/open?id="; //JSON Keyファイルを指定
172
-
173
-
174
-
175
- //OAuth2認証を実行する
176
-
177
- function startoauth(){
239
+ function convertAtoT(fileid) {
178
-
179
- //UIを取得する
180
240
 
181
241
  var ui = SpreadsheetApp.getUi();
182
242
 
183
-
243
+ //ファイルの情報と言語の設定
244
+
184
-
245
+ var file = DriveApp.getFileById(fileid);
246
+
247
+ var bytes = file.getBlob().getBytes();
248
+
249
+ var lang = "ja-jp";
250
+
251
+
252
+
253
+ var payload = {
254
+
255
+ config: {
256
+
257
+ //"encoding": "LINEAR16",
258
+
259
+ //"sampleRateHertz": 16000,
260
+
261
+ languageCode: "ja-JP"
262
+
263
+ },
264
+
265
+ audio: {
266
+
267
+ //音声ファイルをBASE64でエンコードする
268
+
269
+ content:Utilities.base64Encode(bytes)
270
+
271
+ }
272
+
273
+ };
274
+
275
+
276
+
185
- //認証を実行する
277
+ //OAuth認証情報取得
186
278
 
187
279
  var service = checkOAuth();
188
280
 
281
+
282
+
283
+ //FLACファイルをAPIへ渡す
284
+
285
+ if (service.hasAccess()) {
286
+
287
+ //Access Tokenを取得
288
+
289
+ var accessToken = service.getAccessToken();
290
+
291
+
292
+
293
+ try{
294
+
295
+ //POSTで通信
296
+
297
+ var url = "https://speech.googleapis.com/v1/speech:longrunningrecognize";
298
+
299
+ var response = UrlFetchApp.fetch(url, {
300
+
301
+ method: 'POST',
302
+
303
+ headers: {
304
+
305
+ Authorization: 'Bearer ' + accessToken
306
+
307
+ },
308
+
309
+ contentType: "application/json",
310
+
311
+ payload: JSON.stringify(payload)
312
+
313
+ });
314
+
315
+
316
+
317
+ //変換結果を取得する
318
+
319
+ var result = JSON.parse(response.getContentText());
320
+
321
+
322
+
323
+ //次のUrlFechApp実行まで待ちまでしばらくスリープさせる
324
+
325
+ Utilities.sleep(10 * 1000);
326
+
327
+
328
+
329
+ //文字起こしデータを取得する
330
+
331
+ url = "https://speech.googleapis.com/v1/operations/" + result.name;
332
+
333
+ var response = UrlFetchApp.fetch(url, {
334
+
335
+ method: 'GET',
336
+
337
+ headers: {
338
+
339
+ Authorization: 'Bearer ' + accessToken
340
+
341
+ }
342
+
343
+ });
344
+
345
+
346
+
347
+ //結果をメッセージで表示
348
+
349
+ var retjson;
350
+
351
+ var result2 = JSON.parse(response.getContentText());
352
+
353
+ retjson = result2.response.results[0].alternatives[0].transcript
354
+
355
+ ui.alert(retjson);
356
+
357
+
358
+
359
+ }catch(e){
360
+
189
- ui.alert("認証が完了し、Access Tokenを取得しました。")
361
+ ui.alert("error:" + e.message);
362
+
363
+ }
364
+
365
+ }
190
366
 
191
367
  }
192
368
 
193
-
194
-
195
- //Google DriveにあるサービスアカウントキーのJSONファイルを取得する
196
-
197
- function getServiceAccKey(){
198
-
199
- //filelinkからFileIDを取得する
200
-
201
- var fileId = filelink.match(/[\w-]{25,}/)[0];
202
-
203
-
204
-
205
- //JSONファイルの中身を取得する
206
-
207
- var content = DriveApp.getFileById(fileId).getAs("application/json").getDataAsString();
208
-
209
- return JSON.parse(content);
210
-
211
- }
212
-
213
-
214
-
215
- //OAuth2.0認証を実行する
216
-
217
- function checkOAuth() {
218
-
219
- //JSONファイルの中身を取得する
220
-
221
- var privateKeys = getServiceAccKey();
222
-
223
-
224
-
225
- return OAuth2.createService('GoogleCloud:' + Session.getActiveUser().getEmail())
226
-
227
- //アクセストークンの取得用URLをセット
228
-
229
- .setTokenUrl(tokenurl)
230
-
231
-
232
-
233
- //プライベートキーとクライアントIDをセットする
234
-
235
- .setPrivateKey(privateKeys['private_key'])
236
-
237
- .setIssuer(privateKeys['client_email'])
238
-
239
-
240
-
241
- //Access Tokenをスクリプトプロパティにセットする
242
-
243
- .setPropertyStore(PropertiesService.getScriptProperties())
244
-
245
-
246
-
247
- //スコープを設定する
248
-
249
- .setScope('https://www.googleapis.com/auth/cloud-platform');
250
-
251
- }
252
-
253
-
254
-
255
-
256
-
257
- // 3. 変換用のメインコード
258
-
259
-
260
-
261
-
262
-
263
- //FLACファイルをテキストに変換して表示する
264
-
265
- function convertAtoT(fileid) {
266
-
267
- var ui = SpreadsheetApp.getUi();
268
-
269
- //ファイルの情報と言語の設定
270
-
271
- var file = DriveApp.getFileById(fileid);
272
-
273
- var bytes = file.getBlob().getBytes();
274
-
275
- var lang = "ja-jp";
276
-
277
-
278
-
279
- var payload = {
280
-
281
- config: {
282
-
283
- //"encoding": "LINEAR16",
284
-
285
- //"sampleRateHertz": 16000,
286
-
287
- languageCode: "ja-JP"
288
-
289
- },
290
-
291
- audio: {
292
-
293
- //音声ファイルをBASE64でエンコードする
294
-
295
- content:Utilities.base64Encode(bytes)
296
-
297
- }
298
-
299
- };
300
-
301
-
302
-
303
- //OAuth認証情報を取得
304
-
305
- var service = checkOAuth();
306
-
307
-
308
-
309
- //FLACファイルをAPIへ渡す
310
-
311
- if (service.hasAccess()) {
312
-
313
- //Access Tokenを取得
314
-
315
- var accessToken = service.getAccessToken();
316
-
317
-
318
-
319
- try{
320
-
321
- //POSTで通信
322
-
323
- var url = "https://speech.googleapis.com/v1/speech:longrunningrecognize";
324
-
325
- var response = UrlFetchApp.fetch(url, {
326
-
327
- method: 'POST',
328
-
329
- headers: {
330
-
331
- Authorization: 'Bearer ' + accessToken
332
-
333
- },
334
-
335
- contentType: "application/json",
336
-
337
- payload: JSON.stringify(payload)
338
-
339
- });
340
-
341
-
342
-
343
- //変換結果を取得する
344
-
345
- var result = JSON.parse(response.getContentText());
346
-
347
-
348
-
349
- //次のUrlFechApp実行まで待ちまでしばらくスリープさせる
350
-
351
- Utilities.sleep(10 * 1000);
352
-
353
-
354
-
355
- //文字起こしデータを取得する
356
-
357
- url = "https://speech.googleapis.com/v1/operations/" + result.name;
358
-
359
- var response = UrlFetchApp.fetch(url, {
360
-
361
- method: 'GET',
362
-
363
- headers: {
364
-
365
- Authorization: 'Bearer ' + accessToken
366
-
367
- }
368
-
369
- });
370
-
371
-
372
-
373
- //結果をメッセージで表示
374
-
375
- var retjson;
376
-
377
- var result2 = JSON.parse(response.getContentText());
378
-
379
- retjson = result2.response.results[0].alternatives[0].transcript
380
-
381
- ui.alert(retjson);
382
-
383
-
384
-
385
- }catch(e){
386
-
387
- ui.alert("error:" + e.message);
388
-
389
- }
390
-
391
- }
392
-
393
- }
394
-
395
369
 
396
370
 
397
371
  ```

1

2019/07/30 23:19

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- かなり困っています google apps script エラー
1
+ google apps script エラー speech.googleapis.com/v1/speech:longrunningrecognize"
test CHANGED
File without changes