使用Gmail API时如何固定redirect_uri为http://localhost:8080?
解决Gmail API重定向URI固定问题
检查Google Cloud Console的OAuth凭据配置
必须在Google Cloud Console的项目凭据页面,编辑你创建的OAuth 2.0客户端ID,将http://localhost:8080精确添加到已授权的重定向URI列表中。注意URI的拼写、斜杠要完全一致,不能有多余字符。代码中显式指定重定向URI和端口
不要依赖库的默认值,在初始化授权流时直接指定redirect_uri,同时在启动本地服务器时固定端口:from google_auth_oauthlib.flow import Flow # 初始化授权流时指定redirect_uri flow = Flow.from_client_secrets_file( 'secret.json', scopes=['https://www.googleapis.com/auth/gmail.modify'], redirect_uri='http://localhost:8080' ) # 启动本地服务器时固定端口为8080 creds = flow.run_local_server(port=8080)确认环境变量生效
在IDEA的运行配置的环境变量中设置OAUTHLIB_INSECURE_TRANSPORT=1,可以在代码开头添加以下代码验证是否生效:import os print(os.getenv('OAUTHLIB_INSECURE_TRANSPORT'))若输出不是
1,则说明环境变量未正确加载,需重启IDEA或重新配置运行环境。清理旧凭据缓存
删除之前生成的授权缓存文件(通常位于~/.credentials/目录或项目根目录的token.json),重新运行授权流程,确保新的重定向URI被使用。
内容的提问来源于stack exchange,提问作者Ben
相关产品推荐
相关产品推荐

