如何让Drive API打印文件说明?

时间:2016-03-23 12:51:49

标签: python-3.x google-drive-api google-api-python-client

这是Google Drive v3 API示例中的代码。

def main():     msgstr“”“显示Google Drive API的基本用法。”“     credentials = get_credentials()     http = credentials.authorize(httplib2.Http())     service = discovery.build('drive','v3',http = http)

results = service.files().list(q="mimeType='image/jpeg'",
    pageSize=2,fields="nextPageToken, files(id, mimeType, name, description)").execute()
items = results.get('files', [])
if not items:
    print('No files found.')
else:
    print('Files:')
    for item in items:
        print('{0} {1} {2} {3}'.format(item['id'], item['mimeType'], item['name'], item['description']))

我在v3文档中添加了看起来像有效属性的说明。我收到了这个错误。

print('{0} {1} {2} {3}'.format(item['id'], item['mimeType'], item['name'], item['description']))

KeyError:'description'

我正在使用Python 3.0。原始示例中的代码可以在这里找到 - https://developers.google.com/drive/v3/web/quickstart/python#step_3_set_up_the_sample

可在此处找到文件参考的文档 - https://developers.google.com/drive/v3/reference/files

1 个答案:

答案 0 :(得分:1)

虽然描述有效,但并非所有文件都有描述,如果他们不知道不会返回描述属性。尝试:

for item in items:
  description = item.get('description', '')  
  print('{0} {1} {2} {3}'.format(item['id'], item['mimeType'], item['name'], description))

如果设置了描述或“&#39”,则会将描述设置为API返回的属性。 (空白)如果没有为该项目设置属性。