0

我试图使用服务帐户访问谷歌团队驱动器

1)我去团队驱动并添加为会员服务帐户电子邮件,并授予他完全访问权限

2)我不确定必须向该服务帐户授予(在控制台内)哪些权限才能连接到谷歌团队驱动器

这是我正在使用的代码

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,并获取每个类别的文件数量,例如有多少视频、图片等,如果可能的话

4

1 回答 1

0

正如您在文档中看到的,pageToken 是在下一页继续上一个请求的令牌。

假设您在团队云端硬盘中有 1000 个文档,并且您正在使用pageSize100 个文档,在第一个请求中您应该发送一个空pageToken文档,响应将是 100 个文件和一个nextPageToken. 如果您files.list使用它执行另一个请求pageToken,您将从该团队驱动器中获得接下来的 100 个文件,依此类推。

所以在你的情况下,你需要发送一个空pageToken而不是'1'。

希望清楚!

于 2018-08-17T08:14:50.950 回答