- OAuthトークンの有効期限が切れると、gtasksはタスクの取得・追加ができなくなります。
- この状態でも「ログイン済み」と判定されるため、
gtasksw loginを実行してもエラーになります。 - 解決するには、先に
gtasksw logoutでログアウトしてから、再度gtasksw loginでブラウザ認証を行います。 - 認証が完了すると新しいトークンが保存され、正常に動作するようになります。
1. 【エラー】Unable to retrieve task lists
gtasksを使ってタスクを追加しようとしたらエラーになりました。

Unable to retrieve task lists. Get "https://tasks.googleapis.com/tasks/v1/users/@me/lists?alt=json&prettyPrint=false": oauth2: "invalid_grant" "Token has been expired or revoked."Code language: JavaScript (javascript)
タスクの追加だけでなく、確認もできませんでした(gts aコマンドで、gtasks のタスク追加コマンドを呼んでいます)。
2. 【エラー】Login failed: already logged in
「Token has been expired or revoked」と書かれていたので、「login」コマンドをしました。
ところが、すでにログイン済みというエラー。
~ % gtasksw login
Login failed: already logged in
3. 【解決】Authorization successful!
そこで、いったんログアウトして、ログインしなおしました。

~ % gtasksw login
Opening browser for Google authentication...
If browser doesn't open, visit: https://accounts.google.com/o/oauth2/〜
Starting local server on http://localhost:8080...
✓ Authorization successful! Server was running on port 8080
✓ Credentials saved to /Users/〜/.gtasks/token.json
ブラウザでの認証があり、無事にコマンドが動くようになりました。
つまり、OAuth認証のトークンの有効期限が切れて、再認証が必要だったわけです。
トークンが期限切れでも、gtasksは自動でログアウトされるわけではなく、自分でログアウトする必要があることがポイントでした。