google-drive-api - 如何解决“AttributeError:'Resource' 对象没有属性'documents'”错误?
问题描述
我正在编写一个脚本来创建多个 Google Docs 文件。
我遵循了 Google Docs API 指南:
快速入门 ( https://developers.google.com/docs/api/quickstart/python ) 和创建和管理文档 ( https://developers.google.com/docs/api/how-tos/documents )
from __future__ import print_function
import pickle
import os.path
from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request
def main():
"""Shows basic usage of the Drive v3 API.
Prints the names and ids of the first 10 files the user has access to.
"""
creds = None
# The file token.pickle stores the user's access and refresh tokens, and is
# created automatically when the authorization flow completes for the first
# time.
if os.path.exists('token.pickle'):
with open('token.pickle', 'rb') as token:
creds = pickle.load(token)
# If there are no (valid) credentials available, let the user log in.
if not creds or not creds.valid:
if creds and creds.expired and creds.refresh_token:
creds.refresh(Request())
else:
flow = InstalledAppFlow.from_client_secrets_file(
'credentials.json', SCOPES)
creds = flow.run_local_server(port=0)
# Save the credentials for the next run
with open('token.pickle', 'wb') as token:
pickle.dump(creds, token)
service = build('drive', 'v3', credentials=creds)
# Call the Drive v3 API
results = service.files().list(
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(u'{0} ({1})'.format(item['name'], item['id']))
print("Creating blank Google Docs file")
title = 'My Document'
body = {
'title': title
}
doc = service.documents() \
.create(body=body).execute()
print('Created document with title: {0}'.format(
doc.get('title')))
return
if __name__ == '__main__':
main()
注意:本网站未正确显示“print("Creating blank Google Docs file")”和“return”周围的缩进。这应该缩进一次,而不是像这里显示的那样缩进两次。该块不是“else: print('Files:')”分支的一部分。
我没有创建 Google Docs 文件,而是收到以下错误:
Traceback (most recent call last):
File "create-teamwork-sops.py", line 234, in <module>
main()
File "create-teamwork-sops.py", line 227, in main
doc = service.documents() \
AttributeError: 'Resource' object has no attribute 'documents'
解决方案
推荐阅读
- html - 媒体查询放置会影响第一次绘制的速度吗?
- reactjs - 如何将输入的值更改为下标?
- certificate - Cloudera 代理安装失败并出现错误“无法为
" - python-3.x - Pandas Pivot table aggfunc countif 条件
- php - 如何在 php 中用 preg_match_all 分割这个字符串?
- logic - VHDL 减法导致结果的高 4 位为“X”,我该如何解决?
- javascript - 是否可以在 django url 中发送参数并在加载页面上的 javascript 中使用它
- javascript - 获取时返回键盘输入的函数
- javascript - 尝试将 Angular CLI 的版本从 1.7.3 升级到 7 时出现以下错误
- wpf - 从 WPF 功能区创建下拉“面板”区域?