-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Google TTS Error: Could not load the default credentials #178
Comments
Issue分析結果:[
{
"file_path": "src/pages/api/tts.ts",
"reason": "このファイルはGoogle TTSを使用して音声を生成するAPIルートを定義しています。エラーメッセージにあるGoogle TTSの認証問題に直接関連している可能性が高いです。"
},
{
"file_path": "src/features/googletts/googletts.ts",
"reason": "このファイルはGoogle Cloud Text-to-Speech APIを使用して音声合成を行う機能を提供しています。認証エラーの原因がこのファイルの実装にある可能性があります。"
},
{
"file_path": ".env",
"reason": "環境変数ファイルにGoogle Cloud認証情報が正しく設定されていない可能性があります。credentials.jsonのパスや他の認証関連の変数がここで設定されているかもしれません。"
},
{
"file_path": "package.json",
"reason": "@google-cloud/text-to-speechパッケージが依存関係に含まれているか、またはバージョンが適切かを確認する必要があります。"
},
{
"file_path": "src/pages/index.tsx",
"reason": "メインページコンポーネントでGoogle TTSの初期化や使用が行われている可能性があり、認証エラーの原因となる箇所が含まれているかもしれません。"
},
{
"file_path": "src/features/messages/speakCharacter.ts",
"reason": "このファイルは音声合成機能を提供しており、Google TTSを使用している可能性があります。認証エラーはここから発生している可能性があります。"
},
{
"file_path": "src/components/settings.tsx",
"reason": "設定コンポーネントでGoogle TTSの設定やAPIキーの入力が行われている可能性があり、認証情報の取り扱いに問題がある可能性があります。"
},
{
"file_path": "next.config.js",
"reason": "Next.jsの設定ファイルで、環境変数やGoogle Cloud認証に関する設定が行われている可能性があります。"
},
{
"file_path": ".gitignore",
"reason": "credentials.jsonファイルが.gitignoreに含まれているか確認する必要があります。含まれていない場合、誤ってリポジトリにコミットされる可能性があります。"
},
{
"file_path": "src/features/chat/aiChatFactory.ts",
"reason": "AIチャットファクトリーでGoogle関連のサービスの初期化や設定が行われている可能性があり、認証エラーの原因となる箇所が含まれているかもしれません。"
},
{
"file_path": "src/features/chat/googleChat.ts",
"reason": "Google関連のチャット機能を実装しているファイルで、認証処理が含まれている可能性があります。同様の認証メカニズムがTTSにも使用されているかもしれません。"
},
{
"file_path": "Dockerfile",
"reason": "Dockerfileで環境変数やGoogle Cloud SDKのセットアップが行われている場合、認証情報の取り扱いに問題がある可能性があります。"
},
{
"file_path": "src/utils/buildUrl.ts",
"reason": "URL構築ユーティリティがGoogle Cloud関連のURLを生成している可能性があり、認証エラーの原因となる不正なURLが生成されているかもしれません。"
},
{
"file_path": "src/features/constants/systemPromptConstants.ts",
"reason": "システムプロンプトの定数定義にGoogle TTSの使用や設定に関する情報が含まれている可能性があります。"
},
{
"file_path": "src/components/menu.tsx",
"reason": "メニューコンポーネントでGoogle TTSの設定や切り替えが行われている可能性があり、認証情報の取り扱いに問題がある可能性があります。"
}
] コード改善案:このIssueは、Google Cloud Text-to-Speech APIの認証に関する問題を報告しています。エラーメッセージから、デフォルトの認証情報が正しく読み込まれていないことがわかります。コードを分析した結果、以下の点が問題の原因として考えられます:
また、全体的なコード構造を見ると、環境変数の管理や外部サービスの設定に改善の余地があります。 改善後のコード例:
特に、認証情報の動的読み込みと Docker 環境での改善は、開発環境と本番環境の差異を吸収し、セキュリティを向上させる効果があります。これらの変更により、開発者はより効率的にアプリケーションを開発・デプロイできるようになり、認証関連の問題のデバッグも容易になるでしょう。 最後に、これらの改善はGoogle Cloud サービスの利用に限らず、他の外部サービスとの連携にも応用できる汎用的なアプローチです。これにより、プロジェクト全体のコード品質と保守性が向上することが期待されます。 |
|
すみません、こちらクローズされていますが解決されたということで問題ないでしょうか? |
Issue分析結果に基づいて .envGOOGLE_APPLICATION_CREDENTIALS=/path/to/your/credentials.json ところで |
理解しました。ご指摘ありがとうございます。 |
同じくTTSの問題ですが、Voicevoxをubuntu(AIVtuberも同じサーバー)にインストールしてから、サーバーのIPからhttp プロトコールでVoicevoxへ音声生成させようとしたら、ずっと拒否され、失敗しました。CORSにかかわっているのを知っていますが、VOICEVOX側の、CorsPolicyMode.allやallow_originにサーバーのIPを入れたりしてみましたが、全部ダメになりました。 |
VOICEVOXは、デフォルトのURLのみしか許可していないので、直接コードを修正する必要があります。
自前のVOICEVOXサーバーであってもパラメータ等は変わらないはずなので、ここを修正すれば疎通できるはずです。 |
VOICE_VOX_API_URL内容の編集は結果がダメになってしまいました。 |
すみません、ちょっと状況が理解できませんでした。 |
やはり全部拒否された結果となりました。これはおそらくvoicevoxのCORS設定による問題だと思います。 |
なるほど、となるとVOICEVOXサーバーに問題がありそうですね。
おっと気づきませんでした。直しておきます。 |
@tegnike
ご指示の通りにgoogle cloud でcredentials.jsonを生成し、aituber-kit に入れると、以下のようなエラーが出てきました。
⨯ Error: Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information. at GoogleAuth.getApplicationDefaultAsync (/home/ilik/aituber-kit/node_modules/google-auth-library/build/src/auth/googleauth.js:292:15) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async GoogleAuth._GoogleAuth_determineClient (/home/ilik/aituber-kit/node_modules/google-auth-library/build/src/auth/googleauth.js:839:32) at async GoogleAuth.getClient (/home/ilik/aituber-kit/node_modules/google-auth-library/build/src/auth/googleauth.js:703:20) at async GrpcClient._getCredentials (/home/ilik/aituber-kit/node_modules/google-gax/build/src/grpc.js:145:24) at async GrpcClient.createStub (/home/ilik/aituber-kit/node_modules/google-gax/build/src/grpc.js:318:23) { page: '/api/tts' }
どうすればいいか、教えていただけないようでしょうか
The text was updated successfully, but these errors were encountered: