Token expiredエラー

2,286 views
Skip to first unread message

atsushi....@g.softbank.co.jp

unread,
Oct 8, 2014, 2:45:27 AM10/8/14
to google-app...@googlegroups.com
お世話になります。


GoogleAppsのProvisioningAPIを用いて、ローカルのシステムからGoogleAppsへ
ユーザ・連絡先等の情報をプロビジョニングしておりますが、
最近、以下のエラーがGoogleAppsから返ってくる事象が頻発しています。

401 Token expired

APIを製造したベンダーに確認したところ、原因不明との回答でした。

メッセージ通りに受け取れば、API接続認証のトークンが失効ということなので、
GoogleAppsのAPI接続アカウントのパスワードを変えて再現確認をしてみましたが、
パスワードの変更では「Authentication failed」のエラーは出ましたが、
「Token expired」が出ることはなく、検証環境では一度も発生しません。

このエラーがどういう状況で発生するか、また原因について
なにか知見をお持ちの方いらっしゃいませんでしょうか。


以上、ご確認ください。
よろしくお願いいたします。



Ohashi, Keisuke

unread,
Oct 8, 2014, 3:04:53 AM10/8/14
to google-app...@googlegroups.com
Provisioning APIの場合、多分ID/PasswordによるClientLoginか、OAuth(ver 1)でのログインをしていると思われます。
記憶ではClient Loginは24時間、OAuthは1時間でトークンが切れ、何もしなければ(tokenを再取得しなければ) 401 Token expiredが出るはずです。


またパスワード変更後にAuthentication failedが出ているのはパスワード変更前と同じTokenを利用しようとしているか、
変更後のID/パスワードを利用していないためかなと思われます。
※他にもエラーが発生する可能性は否定できませんが...

なお、Provisioning API、ClientLogin、OAuth(ver 1)は既に非推奨となっており、
Provisioning APIについては、GoogleのDeprecation Policyに従えば2015年3月頃には利用不可能となる予定で、
Admin SDKへ移行するようGoogleからアナウンスが有ります。



2014年10月8日 15:45 <atsushi....@g.softbank.co.jp>:

--
このメールは Google グループのグループ「Google Apps API Japan」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには google-apps-api-...@googlegroups.com にメールを送信してください。
このグループに投稿するには google-app...@googlegroups.com にメールを送信してください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。



--
/**
* 株式会社 BFT
* 大橋 啓介 <oohashi keisuke>
* k-oh...@bfts.co.jp
*
* 〒100-0005
*  東京都千代田区丸の内1-6-5
*  丸の内北口ビルディング22階
* tel 03-6810-0091
* fax 03-3213-6655
*
* HP http://www.bfts.co.jp/
**/

atsushi....@g.softbank.co.jp

unread,
Oct 9, 2014, 2:18:03 AM10/9/14
to google-app...@googlegroups.com
お世話になっております。コメントありがとうございます。

有用な情報をありがとうございます。

こちらではOAuthは使っていないので、
おそらくClientLoginの24時間に引っかかった可能性があるということですね。

ベンダーに確認してみます。


以上、よろしくお願いいたします。




2014年10月8日水曜日 16時04分53秒 UTC+9 soundTricker:

2014年10月8日 15:45 <atsushi....@g.softbank.co.jp>:
このグループから退会し、グループからのメールの配信を停止するには google-apps-api-japan+unsub...@googlegroups.com にメールを送信してください。

このグループに投稿するには google-app...@googlegroups.com にメールを送信してください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

atsushi....@g.softbank.co.jp

unread,
Oct 10, 2014, 12:23:47 AM10/10/14
to google-app...@googlegroups.com
お世話になります。

ベンダーに確認したところ、ProvisioningAPIではなく、UserProfileAPIでした。
確認ミスで申し訳ありません。

ベンダーに確認したところでは、使用している認証は
User Profile API でのAuthSub認証で、
初回接続時にGoogleからトークンが払い出されるので、
それ以降のGoogleへのアクセスについてはその払い出されたトークンを認証に使っているとのことです。

User Profile API AuthSUB token expireなどで検索してみましたが、
それらしい情報にたどりつけませんでした。

なにか知見をお持ちの方いらっしゃいましたら、
ご教示いただけますと幸いです。







2014年10月9日木曜日 15時18分03秒 UTC+9 atsushi....@g.softbank.co.jp:

Tatsuya Nakano

unread,
Oct 11, 2014, 9:45:33 AM10/11/14
to google-app...@googlegroups.com
中野です。

AccessTokenを取り直せていないような気もしますが、今まで動いていたようならGoogle側で何か問題が起きているのかもしれません。
UserProfileAPIもAuthSubも既に非推奨となっているためOAuth2,AdminSDKへの切り替えが手っ取り早いと思います。

■参考までに
以前ClientLoginを使用してAPIを発行していたのですが、APIが失敗する時が多発しGoogleに問い合わせたところ
「OAuth2に切り替えてください」と言われました。
助言通り認可をOAuth2に切り替えたところ問題なく動くようになったことがありました。
非推奨とはいえまだサポートしているのですからちゃんと動かして欲しいものですね。。。



2014年10月10日金曜日 13時23分47秒 UTC+9 atsushi....@g.softbank.co.jp:

Kousuke TANIGUCHI

unread,
Nov 5, 2014, 4:16:04 AM11/5/14
to google-app...@googlegroups.com
こんにちは

AuthSubとのことなので関係ないかもしれませんが、7月にOAuth2のドキュメントにToken Expirationという項が追加されました。


OAuth2のアクセストークンは一人25個まで、26個以上は認可時にはエラーにはならないけど、
アクセスがないものから順に無効にしていくとのことです。

内部的な話はわからないので仮定ですが、もしOAuth,AuthSubで発行されるトークンと
OAuth2で発行されるトークンが同じ管理をされていれば、26個目以降の新しいトークン発行するたびに、
古いトークンが無効化されていくので、関連するかもとおもいましたので共有します。

このドキュメントも一人25個までというのがプロジェクト単位なのか、client_id/APIキー単位なのか、
本当にユーザー単位なのか、よくわからないので情報ご存知のかたいらっしゃれば共有いただけると助かります。


Reply all
Reply to author
Forward
0 new messages