You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Google Text-to-Speech API配置凭证?Python新手求助

解决Google Text-to-Speech API的鉴权错误问题

别担心,这个DefaultCredentialsError是新手使用Google云API时非常常见的问题——本质上就是你的程序找不到用来验证身份的凭证文件。既然你已经有了凭证JSON文件,下面给你两种简单的配置方法:

方法1:通过环境变量配置(推荐)

这种方法不需要修改代码,更安全也更灵活,适合长期使用:

  • Windows系统:打开命令提示符,输入以下命令(替换成你的凭证文件实际路径):
    set GOOGLE_APPLICATION_CREDENTIALS=C:\path\to\your\service-account-file.json
    
    之后在同一个命令窗口里运行你的Python脚本即可。
  • macOS/Linux系统:打开终端,输入以下命令(替换路径):
    export GOOGLE_APPLICATION_CREDENTIALS="/path/to/your/service-account-file.json"
    
    同样在这个终端窗口运行脚本。

如果是用IDE(比如PyCharm、VS Code),也可以直接在IDE的运行配置里添加这个环境变量,这样每次运行都会自动加载。

方法2:在代码中显式加载凭证

如果你不想设置环境变量,也可以直接在代码里指定凭证文件的路径,修改后的代码如下:

def synthesize_text(text):
    """Synthesizes speech from the input string of text."""
    from google.cloud import texttospeech
    from google.oauth2 import service_account

    # 替换成你的凭证JSON文件的实际路径
    credentials = service_account.Credentials.from_service_account_file(
        '/path/to/your/service-account-file.json'
    )
    # 创建客户端时传入凭证
    client = texttospeech.TextToSpeechClient(credentials=credentials)

    input_text = texttospeech.types.SynthesisInput(text=text)
    voice = texttospeech.types.VoiceSelectionParams(
        language_code='en-US',
        ssml_gender=texttospeech.enums.SsmlVoiceGender.FEMALE)
    audio_config = texttospeech.types.AudioConfig(
        audio_encoding=texttospeech.enums.AudioEncoding.MP3)
    response = client.synthesize_speech(input_text, voice, audio_config)

    with open('output.mp3', 'wb') as out:
        out.write(response.audio_content)
    print('Audio content written to file "output.mp3"')

注意事项

  • 一定要把代码里的/path/to/your/service-account-file.json替换成你本地凭证文件的真实路径,路径里的斜杠要注意:Windows用\或者转义的\\,macOS/Linux用/。
  • 凭证文件要妥善保管,不要把它上传到代码仓库(比如GitHub)里,避免泄露权限。

内容的提问来源于stack exchange,提问作者cmb28

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:20:28