2013-03-12 2 views
0

현재 Google 드라이브에서 python을 사용하여 파일 메타 데이터를 다운로드하는 방법을 알아 보려고합니다. 나는 Google에서 제공 한 문서에서 거의 복사/붙여 넣기를 해왔으며 지금까지는 잘 해왔습니다. 나는 다음과 같은 오류가 나타납니다Python의 Google API에서 파일 메타 데이터 가져 오기

drive_file = drive_service.files().get(id=file_id).execute() 

: 내가 전화 할 때

drive_file = drive_service.files().get(id=file_id).execute() 
File "build\bdist.win-amd64\egg\apiclient\discovery.py", line 452, in method 
TypeError: Got an unexpected keyword argument "id" 

그러나, 구글 문서 (파이썬 탭에서) 예를 들어 here이를 그 거의 똑같은 보여줍니다 내가 가진 것. Python 사용 경험이 부족하거나 다른 이유로 인해 코드가 작동하지 않습니까? 전체 프로그램은 아래에 표시됩니다 :

import httplib2 

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

def getDriveService(): 
    ClientID = <MY_CLIENT_ID> 
    ClientSecret = <MY_CLIENT_SECRET> 
    OAUTH_SCOPE = 'https://www.googleapis.com/auth/drive' 
    REDIRECT_URI = <MY_REDIRECT_URI> 

    flow = OAuth2WebServerFlow(ClientID, ClientSecret, OAUTH_SCOPE, REDIRECT_URI) 
    flow.redirect_uri = REDIRECT_URI 
    authorize_url = flow.step1_get_authorize_url() 
    print authorize_url 
    code = raw_input('Enter verification code: ').strip() 

    credentials = flow.step2_exchange(code)   
    http = httplib2.Http() 
    http = credentials.authorize(http) 

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

drive_service = getDriveService() 
files = drive_service.files().list().execute() 

file_id = files['items'][0]['id'] 

#Error occurs here 
drive_file = drive_service.files().get(id=file_id).execute() 

print 'Title: %s' % drive_file['title'] 
print 'Description: %s' % drive_file['description'] 
print 'MIME type: %s' % drive_file['mimeType'] 
+0

에 코드

drive_file=drive_service.files().get(id=file_id).execute() 

을 수정할 수 있습니다 (FileID에 = FILE_ID)' 대신 https://developers.google.com/drive/v2/reference/files/get –

+0

시도했지만 차이는 없습니다. – LucasS

답변

3

해결했습니다. 내가 구글-API를 너무 잘 알고 아니지만 얻을`사용하는 문서의 최신 버전이

drive_file = drive_service.files().get(fileId=file_id).execute() 
관련 문제