PYTHON 连接到 Google 团队云端硬盘
PYTHON Connect to Google Team Drive
我正在尝试使用服务帐户
访问google团队驱动器
1) 我去 team drive 并添加为会员服务帐户电子邮件,并授予他完全访问权限
2) 我不确定必须向此服务帐户授予(在控制台内)哪个权限才能连接到 google 团队驱动器
这是我正在使用的代码
def initialize_analyticsreporting():
print("Wait for Initialising")
credentials = ServiceAccountCredentials.from_json_keyfile_name(
"key.json", "https://www.googleapis.com/auth/drive")
# Build the service object.
analytics = build('drive', 'v3', credentials=credentials)
print(analytics)
print("Service for Google Drive - Initialised")
return analytics
def main(analytics):
page_token = '1'
while True:
response = analytics.files().list(q="mimeType='image/jpeg'",
spaces='drive',
fields='nextPageToken, files(id, name)',
pageToken=page_token).execute()
for file in response.get('files', []):
# Process change
print 'Found file: %s (%s)' % (file.get('name'), file.get('id'))
page_token = response.get('nextPageToken', None)
if page_token is None:
print("Token not initilied")
break
return response
if __name__ == '__main__':
analytics = initialize_analyticsreporting()
main(analytics)
身份验证部分工作正常。
它失败了,因为我不确定 page_token.
我需要什么:我需要使用此服务帐户连接到 Team Drive,并获取每个类别的文件数量,如多少视频、图片等,如果可能的话
如您在 the documentation 中所见,pageToken 是在下一页继续上一个请求的令牌。
假设您在团队云端硬盘中有 1000 个文档,并且您使用的 pageSize
为 100,在第一个请求中您应该发送一个空的 pageToken
,响应将是 100 个文件和一个nextPageToken
。如果您使用那个 pageToken
执行另一个 files.list
请求,您将从该团队驱动器中获得接下来的 100 个文件,依此类推。
所以在你的情况下,你需要发送一个空的 pageToken
而不是 '1'。
希望清楚!
我正在尝试使用服务帐户
访问google团队驱动器1) 我去 team drive 并添加为会员服务帐户电子邮件,并授予他完全访问权限
2) 我不确定必须向此服务帐户授予(在控制台内)哪个权限才能连接到 google 团队驱动器
这是我正在使用的代码
def initialize_analyticsreporting():
print("Wait for Initialising")
credentials = ServiceAccountCredentials.from_json_keyfile_name(
"key.json", "https://www.googleapis.com/auth/drive")
# Build the service object.
analytics = build('drive', 'v3', credentials=credentials)
print(analytics)
print("Service for Google Drive - Initialised")
return analytics
def main(analytics):
page_token = '1'
while True:
response = analytics.files().list(q="mimeType='image/jpeg'",
spaces='drive',
fields='nextPageToken, files(id, name)',
pageToken=page_token).execute()
for file in response.get('files', []):
# Process change
print 'Found file: %s (%s)' % (file.get('name'), file.get('id'))
page_token = response.get('nextPageToken', None)
if page_token is None:
print("Token not initilied")
break
return response
if __name__ == '__main__':
analytics = initialize_analyticsreporting()
main(analytics)
身份验证部分工作正常。
它失败了,因为我不确定 page_token.
我需要什么:我需要使用此服务帐户连接到 Team Drive,并获取每个类别的文件数量,如多少视频、图片等,如果可能的话
如您在 the documentation 中所见,pageToken 是在下一页继续上一个请求的令牌。
假设您在团队云端硬盘中有 1000 个文档,并且您使用的 pageSize
为 100,在第一个请求中您应该发送一个空的 pageToken
,响应将是 100 个文件和一个nextPageToken
。如果您使用那个 pageToken
执行另一个 files.list
请求,您将从该团队驱动器中获得接下来的 100 个文件,依此类推。
所以在你的情况下,你需要发送一个空的 pageToken
而不是 '1'。
希望清楚!