2013-03-12 68 views
0

我目前正试图解决如何使用python从谷歌驱动器下载文件元数据。我几乎只是从谷歌提供的文档中复制/粘贴,到目前为止一直没有问题。当我尝试拨打:在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的标签下),显示几乎完全一样我拥有的东西。我的代码不工作是因为我缺乏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

我不是太熟悉谷歌的API,但存在使用'得到的文档的更新版本(FILEID =的file_id)'相反:https://developers.google.com/drive/v2/reference/files/get – 2013-03-12 21:50:10

+0

试过,但没有区别。 – LucasS 2013-03-12 23:57:20

回答

3

我解决了它。 您可以修改代码

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

drive_file = drive_service.files().get(fileId=file_id).execute() 
相关问题