大阪市中央区 システムソフトウェア開発会社

営業時間:平日09:15〜18:15
MENU

Google App Script 公開したけどアクセス401エラー

著者:津路高広
公開日:2021/10/15
最終更新日:2021/12/30
カテゴリー:技術情報

津路です。こんにちは。

今回は、Microsoft Computer Vision APIを利用して解析、取得したテキストを、スプレッドシートに書き込むプログラムを作ってみました。
と言っても、Qiitaの以下ページを再現しただけです。
画像認識APIでOCRアプリ

まず、Microsoft Azureのアカウントを作成して、Computer Visionサービスを検索し、サブスクリプションや名前などを設定して作成します。

自分のGoogleアカウントでスプレッドシートを作成して、ツールメニューからスクリプトエディタを起動します。

ページに掲載のスクリプトをそのまま書き込みます。
function doPost(e)
では、スクリプトがPostメソッドで呼ばれた際に、e引数からテキストを取り出して、スプレッドシートのA1セルに値を貼り付けます。

上記の中のスプレッドシートのIDには、シートのURLの一部を入れます。

次に、ページ投稿者がGitで公開されておられる、swiftプロジェクトをクローンして、ビルドします。

japanwestは、リージョンが西日本となったためです。APIキーは、画像のような中からコピーしてきます。

さて、本題です。
App Scriptを開いて、ウェブアプリとして公開します。
右上からデプロイをクリックします。

新しいデプロイをクリックして、項目を設定します。

以上を設定しておいて、XCodeからデバッグします。
しかし、スクリプトにリクエストして結果を得たところ、401エラーが起こります。

上記のerrorが401エラーです。これは権限のエラーです。

何故なのか、いろいろと調べましたが、わかりませんでした。スクリプトのコミュニティでも検索しましたが、大体はIDが違うとかアクセス件をanyoneしたのかといったものでした。
そして、もしてかしてというわけで、画面の内容が、Google検索結果と大きく違うので、エディターが変化していることを疑いました。
そこで、右上に「以前のエディタを使用」があり、クリックして、切り替えました。
さらに、メニューから公開をクリックして、ウェブアプリケーションとして導入をクリック
そのまま更新ボタンで公開します。
これで解消できました。

この件ですが、その後Googleに報告したところ、
buganizer-system@google.comから連絡があり、再現してビデオ送ってねときまして、再現しようとすると、できませんでした。
どうも、コードを変更するたびに、新たにウェブアプリとして公開するのが基本のようです。

    上に戻る