【发布时间】:2021-06-11 19:45:54
【问题描述】:
我正在使用带有 laravel 的 google drive api 进行连续备份,所以我使用以下软件包
“nao-pon/flysystem-google-drive”:“~1.1”,以及
"spatie/laravel-backup": "^6.14"
我已经用刷新令牌设置了google drive api v3并将其放入.env
FILESYSTEM_CLOUD=google
GOOGLE_DRIVE_CLIENT_ID=****.apps.googleusercontent.com
GOOGLE_DRIVE_CLIENT_SECRET=****
GOOGLE_DRIVE_REFRESH_TOKEN=****
GOOGLE_DRIVE_FOLDER_ID=****
所以一切正常,我可以使用谷歌驱动器作为磁盘通过 cron 作业每天存储备份,唯一的问题是一周后刷新令牌过期(我假设)并停止处理此错误消息,
Failed to authenticate on SMTP server with username "****" using 2 possible authenticators. Authenticator LOGIN returned Expected response code 235 but got code "535", with message "535 Incorrect authentication data
如果我再次从oathplayground 更改刷新令牌并将其放入.env,它会再次开始工作一周。
那么我该如何解决这个问题,因此我不需要每周生成令牌。
【问题讨论】:
-
在oauth中,你是否让令牌自动刷新?
-
是的,在交换令牌的授权码之前,我已经检查了“在令牌过期之前自动刷新令牌”
-
如何获得刷新令牌。您可以显示代码快照吗?
-
我是通过 oauth play ground 得到的
-
在调用API之前你应该有另一种方式来获取它,如果它已经过期你应该更新你的。不要依赖 env 文件。您需要将其添加到数据库中才能在每次无效时对其进行更新。
标签: php laravel oauth google-drive-api backup