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

使用Google Generative API(PaLM)调用palm.chat()时遇403权限不足错误求助

解决PaLM API调用palm.chat()时的403权限范围不足问题

核心问题分析

你的代码同时使用了API密钥认证和服务账号应用默认凭据,导致Google SDK优先尝试用服务账号认证,但该账号未配置正确的权限范围,从而触发ACCESS_TOKEN_SCOPE_INSUFFICIENT错误。另外,API密钥认证方式不需要设置OAuth权限范围,你之前做的OAuth同意屏幕配置是多余的。

解决方案

直接移除GOOGLE_APPLICATION_CREDENTIALS环境变量的设置,只保留API密钥的配置即可,修改后的代码如下:

import google.generativeai as palm

palm.configure(api_key='XXXXXXXXXXXXXXXXXXXXX')

response = palm.chat(messages='Hello')
print(response.last)

原因说明

  • 当你调用palm.configure(api_key=...)时,SDK已经完成了API密钥的认证流程,此时不需要再设置服务账号凭据。
  • 额外设置GOOGLE_APPLICATION_CREDENTIALS会让SDK切换到服务账号认证模式,而你的服务账号没有为PaLM API配置对应的权限范围,因此出现403错误。
  • 你已经通过curl验证过API密钥可用,说明密钥本身是有效的,只需用它单独认证即可。

若需使用服务账号认证(可选)

如果非要用服务账号而非API密钥,需要为服务账号添加https://www.googleapis.com/auth/generative-language.talk权限范围,同时确保服务账号已被授予PaLM API的访问权限。但这种方式比API密钥复杂,对于你的场景完全没必要。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 17:53:29