在Insomnia中测试Google My Business API获取评论的OAuth2认证问题
Google My Business API OAuth2 登录要求说明
Google My Business API的OAuth2流程要求登录是正常设计逻辑,和你有没有提供Client ID/Secret没关系,原因如下:
这个API访问的是商家的私密数据(评论属于商家账户的专属内容),Client ID/Secret只是用来验证你的应用是否合法,不能直接替代用户授权。必须由拥有该商家账户管理权限的用户登录,确认允许你的应用访问该商家的数据,才能拿到有效的访问令牌调用API。
重定向URL是OAuth2流程的必要配置:Google授权服务器需要一个合法的地址返回授权码,所以必须和你在Google Cloud控制台里给OAuth2客户端配置的重定向URI完全一致,不设置的话流程直接报错,这就是你之前遇到错误的原因。
测试阶段的正确操作:
- 先在Google Cloud控制台的OAuth2客户端设置里,把Insomnia默认的回调URL(
https://insomnia.rest/callback)添加到授权重定向URI列表中 - 登录时必须使用客户提供的、拥有该商家账户管理权限的Google账号,授权完成后Insomnia会自动获取访问令牌,后续调用API就可以直接用这个令牌,不用重复登录(令牌过期后重新授权即可)
如果后续要在客户网站上实现自动拉取评论,不需要每次手动登录,可以考虑改用服务账号模式:需要把服务账号添加为商家账户的管理员,并且如果客户用的是G Suite账户,还要配置域宽授权。不过测试阶段先用用户授权流程更简单直接。
内容的提问来源于stack exchange,提问作者Océane
相关产品推荐
相关产品推荐

