0

我該如何修改以下python代碼上傳ecg.txt到谷歌驅動器每5秒我更新此文本文件。現在代碼每次上傳文件時都會詢問Oauth,我希望它只在第一次請求認證。上傳文本文件到谷歌驅動器使用python每5秒

#!/usr/bin/python 

import httplib2 
import pprint 

from apiclient.discovery import build 
from apiclient.http import MediaFileUpload 
from oauth2client.client import OAuth2WebServerFlow 


# Copy your credentials from the console 
CLIENT_ID = XXXXXX 
CLIENT_SECRET = XXXXX 

# Check https://developers.google.com/drive/scopes for all available scopes 
OAUTH_SCOPE = 'https://www.googleapis.com/auth/drive' 

# Redirect URI for installed apps 
REDIRECT_URI = 'urn:ietf:wg:oauth:2.0:oob' 

# Path to the file to upload 
FILENAME = 'ecg.txt' 

# Run through the OAuth flow and retrieve credentials 
flow = OAuth2WebServerFlow(CLIENT_ID, CLIENT_SECRET, OAUTH_SCOPE, REDIRECT_URI) 
authorize_url = flow.step1_get_authorize_url() 
print 'Go to the following link in your browser: ' + authorize_url 
code = raw_input('Enter verification code: ').strip() 
credentials = flow.step2_exchange(code) 

# Create an httplib2.Http object and authorize it with our credentials 
http = httplib2.Http() 
http = credentials.authorize(http) 

drive_service = build('drive', 'v2', http=http) 

# Insert a file 
media_body = MediaFileUpload(FILENAME, mimetype='text/plain', resumable=True) 
body = { 
    'title': 'My document', 
    'description': 'A test document', 
    'mimeType': 'text/plain' 
} 

file = drive_service.files().insert(body=body, media_body=media_body).execute() 
pprint.pprint(file) 
+0

XXXX你的客戶ID和密碼。我會殺死你現有的鑰匙,並得到一個新的。 – Ryan 2014-08-29 20:49:04

回答

0

如果您使用的裝飾如在視頻中看到的怒吼咆哮,存儲您的訪問令牌在db你需要的時候處理耳目一新。

https://www.youtube.com/watch?v=HoUdWBzUZ-M

https://developers.google.com/api-client-library/python/guide/google_app_engine

from oauth2client.appengine import OAuth2Decorator 

decorator = OAuth2Decorator(client_id=CLIENT_ID, 
          client_secret=CLIENT_SECRET, 
          scope=OAUTH_SCOPE, 
          callback_path=REDIRECT_URI) 


class MainPage(webapp2.RequestHandler): 

    @decorator.oauth_required #Simply place this above any function that requires login. 
    def get(self): 
相關問題