python gspread,不同的用户权限

时间:2018-11-24 10:59:28

标签: python credentials gspread oauth2client

我目前正在尝试制作2个桌面应用。一个用于管理员,另一个用于用户。目的是防止用户编辑电子表格,只有管理员可以编辑它们。换句话说,管理员具有编辑者访问权限,用户具有视图访问权限。

我所做的是:

对于普通用户:

creds = ServiceAccountCredentials.from_json_keyfile_name(
    'Agent_Access.json', scope)

对于管理员:

creds = ServiceAccountCredentials.from_json_keyfile_name(
        'editor.json', scope)

我在Google的api控制台上设置了2个凭据,第一个具有“仅查看”访问权限,另一个具有“编辑”访问权限。但是,这里的问题是。

当我尝试运行时:

sheet = client.open('my test sheet')
worksheet = sheet.get_worksheet(0)
worksheet.update_acell('B4','Viral2') 
# Edit was successfully done from user side(This edit should not work)

从使用其Agent_Access.json文件的应用程序中,可以对其进行编辑。知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

所以我发现,当您在.json文件中与client_email共享电子表格时,您必须以查看者身份进行共享。