ドライブ サービスでビルドを呼び出すと、断続的にこのエラーが発生します。JSON資格情報がファイルに保存されている単純なプログラムでこれを再現できます。
#!/usr/bin/python
import httplib2
import sys
from apiclient.discovery import build
from oauth2client.client import Credentials
json_creds = open('creds.txt', 'r').read()
creds = Credentials.new_from_json(json_creds)
http = httplib2.Http()
http = creds.authorize(http)
try:
drive_service = build('drive', 'v2', http=http)
except Exception:
sys.exit(-1)
これをループで実行すると、かなりの数のエラーが表示されます。ループ内のこのコードは、15 ~ 25% の確率で失敗します。
i=0; while [ $i -lt 100 ]; do python jsoncred.py || echo FAIL ; i=$(( $i + 1 )); done | grep FAIL | wc -l
これと同じコードを使用して、「ドライブ」を「oauth2」に置き換えると、コードは問題なく実行されます
使用している OAuth トークンが有効であり、正しいスコープを持っていることを確認しました。
"expires_in": 2258,
"スコープ": " https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/drive https://www.googleapis.com/auth/userinfo.email ",
アプリのログを見ると、これは 2013 年 2 月 14 日午後 1 時 (PST) に開始されたようです。新しいコードをプッシュしていないので、これは API の問題なのだろうか。これを引き起こす API のバグはありますか?