Google API Python客户端错误

3 投票
3 回答
2010 浏览
提问于 2025-04-17 14:42

我想写一个脚本来获取Google+的首页信息。为此,我使用了谷歌的一个脚本。我的client-secrets.json文件内容是:

{
 "web": {
   "client_id": "##########",
   "client_secret": "############",
   "redirect_uris": ["http://localhost:8080/oauth2callback/"],
   "auth_uri": "https://accounts.google.com/o/oauth2/auth",
   "token_uri": "https://accounts.google.com/o/oauth2/token",
   "client_email":"##########@developer.gserviceaccount.com",
   "javascript_origins":["http://localhost:8080/"]
        }
}

但是当我想启动这个应用时,它打开了一个错误页面,上面有个坏掉的机器人:

请求中的重定向URI: http://localhost:8080/ 与注册的重定向URI不匹配

请帮我解决这个问题。

3 个回答

0

80端口上运行本地服务器,并把配置的URL简单设置为http://localhost,这样就解决了我的问题。

比如说,针对你的情况

{
 "web": {
   "client_id": "##########",
   "client_secret": "############",
   "redirect_uris": ["http://localhost/oauth2callback/"],
   "auth_uri": "https://accounts.google.com/o/oauth2/auth",
   "token_uri": "https://accounts.google.com/o/oauth2/token",
   "client_email":"##########@developer.gserviceaccount.com",
   "javascript_origins":["http://localhost"]
        }
}
1

你用的 client_idclient_secret 是跟你创建的一个谷歌API项目对应的,这个项目你可以通过下面的链接访问:

https://code.google.com/apis/console/?pli=1#project:XYZ

其中 XYZ 是你的项目ID。

在这个项目里,你需要确保 http://localhost:8080/ 是一个重定向地址,具体步骤如下:

  1. 点击右边的“API访问”标签
  2. 找到与你的应用对应的“网页应用的客户端ID”框
  3. 点击“编辑设置...”按钮
  4. http://localhost:8080/ 添加到“授权重定向URI”框里
10

我找到解决办法了!你需要创建一个新的客户端ID,但要选择桌面应用程序的类型!之后,你需要使用它的client_idclient_secret。这样就可以在开发的时候不需要托管了。

撰写回答