使用原版的repository在验证时碰到invalid request的问题。在issue里看到有人推荐了这个fork,所以尝试了一下。按照README.md的步骤操作都没问题,主要是最后一步需要打开浏览器验证这个步骤对于远程服务器有点坑,要在本地装一台linux再搞一遍环境太麻烦了,所以找了个解决的方法。具体做法是打开一个terminal:
./bin/gdrive_linux_amd64 about
之后就会跳出类似下面的提示:
Authentication needed
Go to the following url in your browser:
http://127.0.0.1:45137/authorize
Waiting for authentication response
另外开一个terminal:
curl "http://127.0.0.1:45137/authorize"
之后会显示一些html代码,其中包含的一个网址把它复制出来,在本地打开,正常验证完毕。注意要保证在前面设置OAuth consent screen时要把自己的谷歌账户添加为test user。验证完毕后又回跳回上面的127开头的网址当然是打不开的。这时候别着急,把网址复制起来,再远程机器上再次来一条:
curl "http://127.0.0.1:45137/callback?state=xxx&code=yyy&scope=https://www.googleapis.com/auth/drive"
之后就会提示验证成功了!
网友评论