忍者ブログ

ひつ(じのひよこが)プログラミングします。
お仕事や趣味で困ったこととか、何度も「あれ?どうだったかしら」と調べたりしたこととか、作ったものとか、こどものこととかを書きます
★前は週末定期更新でしたが今は不定期更新です

2024/05    04« 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  »06

com.google.api.client.auth.oauth2.TokenResponseException: 401 Unauthorized で怒られた場合は tokens ディレクトリの中身が古くないか疑う

先刻まで動いていた Google Spread Sheets を触るためのアプリが急に動かなくなった。作りは Java Quickstart  |  Sheets API  |  Google Developers を参考にしている。得られたスタックトレースは以下の通り。

com.google.api.client.auth.oauth2.TokenResponseException: 401 Unauthorized
	at com.google.api.client.auth.oauth2.TokenResponseException.from(TokenResponseException.java:105)
	at com.google.api.client.auth.oauth2.TokenRequest.executeUnparsed(TokenRequest.java:326)
	at com.google.api.client.auth.oauth2.TokenRequest.execute(TokenRequest.java:346)
	at com.google.api.client.auth.oauth2.Credential.executeRefreshToken(Credential.java:577)
	at com.google.api.client.auth.oauth2.Credential.refreshToken(Credential.java:494)
	at com.google.api.client.auth.oauth2.Credential.intercept(Credential.java:217)
	at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:863)
	at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:541)
	at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:474)
	at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:591)
	at com.hiyoko.discord.bot.MessageLogger.GoogleSpreadSheetLogger.initSheet(GoogleSpreadSheetLogger.java:77)

Quick Start の通りに作っているならば、普通に考えたら credentials.json がおかしいと考えるかもしれない。しかしcredentials.jsonがどう考えても正しい場合は tokens ディレクトリを疑う。このディレクトリはアプリによって生成されているはずだが、この中身が古かったり、壊れていたりすると認証が通らず 401 エラーが返ってくる。tokens ディレクトリをマルッと削除し再実行すると上手くいったりする。「おかしいな、昨日は動いていたのに」という時はこれの有効期限切れ等を疑うと良いかもしれない。

PR

コメント

ただいまコメントを受けつけておりません。

ブログ内検索

P R