web-dev-qa-db-ja.com

GOOGLE_APPLICATION_CREDENTIALSエラー

音声ファイルをテキストに変換するためにGoogle Speech APIを使用しようとしていますが、ドキュメントに関するいくつかの問題に直面しています。音声APIを有効にし、サービスアカウントファイルを作成しました。また、サービスアカウントの資格情報をアクティブにしました。次に、サービスアカウントを使用して認証トークンを取得する次のコマンドを作成しました。

gcloud auth application-default print-access-token

しかし、このメッセージを返しています enter image description here

Compute EngineでVMインスタンスが既に作成されているため、これがなぜ発生しているのかわかりません。アカウントを認証してGoogle Speech APIを呼び出しますか?

8
JSnow

gcloud認証情報とアプリケーションのデフォルト認証情報は別々に管理されます。サービスアカウントキーファイルをアクティブにした場合、これはgcloudコマンドにのみ使用できますが、アプリケーションのデフォルト認証情報には使用できません。

gcloud auth application-defaultコマンドのセットは、アプリケーションのデフォルトを管理するためだけにあり、gcloud authのコマンドとは関係ありません。

アプリケーションのデフォルト認証情報を「アクティブ化」する方法はいくつかあります。

  • ユーザーアカウントを使用します
    • gcloud auth application-default loginを実行、または
  • サービスアカウントを使用する(推奨)

    • 環境変数GOOGLE_APPLICATION_CREDENTIALS=path/to/your/service_accont_key_file.jsonを設定します
    • path/to/your/service_accont_key_file.jsonを〜/ .config/gcloud/application_default_credentials.json`にコピーします

      • Windowsでは、これは異なる場合があります、実行します

        gcloud info --format="value(config.paths.global_config_dir)"
        

        configディレクトリへのパスを取得します。

今のようなコマンド

gcloud auth application-default print-access-token

動作するはずです。

20
cherba

ソリューションとして、GCLOUDコンソールをダウンロードし、プロジェクトアクセスを持つgmailアカウントでコンソール「gcloud auth application-default」ログインでこのコマンドを実行すると、有効なgoogle apiにアクセスできます。

2
Prabhat Yadav

次のコマンドを使用して、gcloudでキーjsonファイルを生成できます:gcloud auth application-default login

googleは確認するためのリンクを表示します、そうすると、一時フォルダにjsonファイルが表示されます

enter image description here

0
Tiago Medici