前提・実現したいこと
●Google Apps Scriptで、「文字起こし君」を作っています。
(LINEのボットに画像を送るとOCRでテキストにして返してくれるもの)
URL:https://qiita.com/kkdmgs110/items/1f6ec0b955e8e1c9362c
●現在使用しているのは、下記三つ。
・Google Apps Script
・Google Apls の「Cloud Vision API」
・Line Developers
書籍版だと「7-6 LINEからの画像を受け取ろう」になります。
●Line Developersでwebhook URL を設定するとエラーが出る。
##エラーは下記の3種類。
・回避したいのはエラー1。
・残りのエラーは、関係あるのかないのか判断できなかったので併記。
●エラー1
Line Developers で Webhook を設定し接続確認ボタンを押すと発生。
Webhookが無効なHTTPステータスコードを返しました(期待されるステータスコードは200です)
●エラー2
Google Apps Script で コードを実行した際、「Apps Script ダッシュボード」に出るログ
※ずっと下記エラーが出ていましたが、先ほど試したところOCR化されたテキストが正常に返っていました。原因不明ですが一応回避。
※今朝まではLine Developerのwebhookを切るとエラー回避するも、設定するとエラーが出る状態でした。
Stackdriver のログ この実行に関するログはありません 最近の実行に関するログの取得で、遅延が発生している可能性があります。
### ●エラー3
関係ないかもしれませんが、一応。
Google Apps Scriptで「公開>WEBアプリケーションとして導入>更新>ウェブ アプリケーションで最新のコードをテストします。」で進むと、下記エラー発生。
そもそも現在のコードにdoGetはないので、エラーが出るのは当然?
スクリプト関数が見つかりません: doGet
### コード
1function doPost(e){ 2const url = "https://dividable.net/wp/wp-content/uploads/2019/01/sample2.png"; 3 const imageResponse = UrlFetchApp.fetch(url,{ 4 'headers': { //HTTP Hearderの設定 5 'Content-Type': 'application/json; charset=UTF-8', 6 }, 7 'method': 'get' //ここでメソッドを指定 8 }) 9 .getContent(); //バイナリ形式でデータ取得 10 const imageBlob = Utilities.base64Encode(imageResponse); //エンコード 11 const API_KEY = 'AIzaSyCW_pnXhMSrIYilyxMYdmsPjW6-jalSsqQ'; //APIキー 12 const visionRequestUrl = 'https://vision.googleapis.com/v1/images:annotate?key=' +API_KEY; //URL+APIキー 13 const payload = JSON.stringify({ 14 "requests":[ 15 { 16 "image": { 17 "content": imageBlob 18 }, 19 "features": [ 20 { 21 "type": "TEXT_DETECTION", 22 "maxResults":1 23 } 24 ] 25 } 26 ] 27 }); 28 const visionTextResponse = UrlFetchApp.fetch(visionRequestUrl, { 29 method: "POST", 30 contentType: "application/json", 31 payload: payload, 32 }) 33 .getContentText(); 34 const visionTextJson = JSON.parse(visionTextResponse); //JSONへ 35 const visionText = visionTextJson.responses[0].fullTextAnnotation.text; //respons>fullTextAnnptation>txxtを取得 36 console.log(visionText); 37} 38
試したこと
●別PC使用 → ×
●別のGoogleアカウントでコードを再度手打ち → ×
●書籍と入力したコードに相違がないか一字ずつ確認 → 12回見直して相違は発見できず。
●Line Developerの同アカウントで、プロパイダーリストやチャンネルを新規に作る → ×
●Google Apps Scriptの「WEBアプリケーションとして導入」のバージョン情報を新しくし、WebhookのURL更新 → ×
●Line Developerでアクセストークン再発行 → ×
(現段階でアクセストークンの設定場所はないので、多分意味はなかった)
●別のLine Developerアカウントで試す → ×
補足情報
使用書籍:独学プログラマーのためのAIアプリ開発がわかる本
(文字起こし君の作り方が載っている本です。
以上。
多分とても初歩的なところで躓いている気はするのですが、どこが問題なのかわかっておりません……。
確認不足の点や間違い、あるいは上記で不足している情報等、ございましたらご指摘いただけると助かります。
回答2件
あなたの回答
tips
プレビュー