2017-09-27 15 views
0

PythonでGoogleドライブAPIを使用してエラー403が表示されます。 私は、Googleドライブ上のファイルを見ることができますが、私はそれをダウンロードするためにしようと試みたとき、私は次のエラーました:PythonでGoogleドライブAPIを使用しているエラー403 - 認証されていない使用に対する毎日の制限が超過

"domain": "usageLimits", 
    "reason": "dailyLimitExceededUnreg", 
    "message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup.", 
    "extendedHelp": "https://code.google.com/apis/console" 

    "code": 403, 
    "message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup." 

私はコードを使用しています:私もよOAuthのを持って

try: 
    import argparse 
    flags = argparse.ArgumentParser(parents=[tools.argparser]).parse_args() 
except ImportError: 
    flags = None 

SCOPES = 'https://www.googleapis.com/auth/drive.metadata.readonly' 
CLIENT_SECRET_FILE = 'client_secret.json' 
APPLICATION_NAME = 'Drive API Quickstart' 

def get_credentials(): 
    home_dir = os.path.expanduser('~') 
    credential_dir = os.path.join(home_dir, '.credentials') 
    if not os.path.exists(credential_dir): 
     os.makedirs(credential_dir) 
    credential_path = os.path.join(credential_dir, 
            'drive-python-quickstart.json') 

    store = Storage(credential_path) 
    credentials = store.get() 
    if not credentials or credentials.invalid: 
     flow = client.flow_from_clientsecrets(CLIENT_SECRET_FILE, SCOPES) 
     flow.user_agent = APPLICATION_NAME 
     if flags: 
      credentials = tools.run_flow(flow, store, flags) 
     else: # Needed only for compatibility with Python 2.6 
      credentials = tools.run(flow, store) 
     print('Storing credentials to ' + credential_path) 
    return credentials 

def main(): 
    credentials = get_credentials() 
    http = credentials.authorize(httplib2.Http()) 
    service = discovery.build('drive', 'v3', http=http) 

    results = service.files().list(
     q="'0BxZjsrGFMvPSNmprUFp0Y25BNFU' in parents", #first execution... 
     pageSize=10, 
     fields="nextPageToken, files(id, name)").execute() 
    items = results.get('files', []) 
    if not items: 
     print('No files found.') 
    else: 
     print('Files:') 
     for item in items: 
      #print('{0} ({1})'.format(item['name'], item['id'])) 
      #file_id = '0BxZjsrGFMvPSWmtDYXB6RG5VTHM' 
      request = service.files().get_media(fileId='0BxZjsrGFMvPSWmtDYXB6RG5VTHM') 
      fh = io.BytesIO() 
      downloader = MediaIoBaseDownload(fh, request) 
      done = False 
      while done is False: 
       status, done = downloader.next_chunk() 
       #print ("Download %d%%." % int(status.progress() * 100)) 

if __name__ == '__main__': 
    main() 

を2.0クライアント構成:https://prnt.sc/gqasjz 私は何が間違っているのか分かりません。

答えて

0
"domain": "usageLimits", 
    "reason": "dailyLimitExceededUnreg", 
    "message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup.", 
    "extendedHelp": "https://code.google.com/apis/console" 

    "code": 403, 
    "message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup." 

最初に認証されずにGoogle APIにアクセスしようとしていることを意味します。資格情報がサービスに正しく適用されていません。それはポップアップし、あなたのデータにアクセスする許可を求める必要があります。

関連する問題