我正在使用[localhost:8080]进行Google Drive API开发。突然,我觉得应该在本地部署沙箱中测试它,它的IP地址为[192.168.1.1:8080]。因此,我更改了开发人员控制台客户端回调URL中的凭据。我正在使用OAuth2 WebServerFlow在用户同意的情况下获取刷新令牌。然后,将来我将使用刷新令牌和OAuth2 WebServerFlow对用户进行身份验证。但我感到惊讶-我收到错误:
1.这是一个错误。错误:专用IP需要无效的请求设备ID和设备名称:
我不知道发生了什么事,也不知道该如何补救。我不明白到底发生了什么
6条答案
按热度按时间mepcadol1#
编辑
hosts
文件的替代方法是使用"Magic DNS"服务https://nip.io/nip.io is a magic domain name that provides wildcard DNS for any IP address. Say your LAN IP address is 10.0.0.1:
使用此服务,您可以指定解析为专用地址的公共外观域。
在控制台中,如果您的重定向URI是(* 您希望拥有的URI *):
将其改为:
"Redirect URI"似乎不接受通配符,因此需要在控制台中指定整个私有www.example.com。ip-xip.io needs to be specified in the console.
bq9c1y662#
Google在进行Oauth调用时不接受本地(私有)IP地址。我的解决方法是在我的Windows主机文件中添加一个本地IP的条目:
\Windows\System32\drivers\etc
然后在他们的开发控制台中向Google注册
fakedomain.com
。这对他们来说是一个“真实的的”域,但仍然会在您的浏览器中解析为本地IP。我相信在Mac或Linux上也可以使用类似的方法。ig9co6j13#
编辑:仅在本地开发时相关。
好的,我在Mac上遇到了同样的问题。以下步骤解决了该问题
private/etc/hosts
文件中添加一个新条目,使上面的主机名与您的IP相匹配,如下所示:fcipmucu4#
我得到了同样的错误,直到我把它从一个IP地址改为一个域名,(192.168.1.113到本地主机在我的情况下),所以它看起来像谷歌不会接受裸IP地址。
为你的沙盒使用域名,或者设置一个本地域服务器(如果你没有)。
h79rfbju5#
值得注意的是,在Mac上,您可以通过以root用户身份编辑来执行相同的操作:
添加与上述类似的行
ws51t4hk6#
在\Windows\System32\drivers\etc\hosts中修改文件主机
将“192.168.1.2fakedomain.com“添加到主机文件中
重新启动你的窗口
更新谷歌控制台192.168.1.2更新为fakedomain.com