使用pygsheets能否获取各工作表及工作簿的访问/共享链接?
嘿,这两个需求pygsheets完全能满足,我来给你拆解具体实现方法:
1. 获取每个工作表的访问链接
pygsheets里的Worksheet对象自带了url属性,直接调用就能拿到对应工作表的直接访问链接,不用额外绕弯子。
举个简单的代码示例:
import pygsheets # 先完成授权(这里假设你已经配置好credentials) gc = pygsheets.authorize(service_file='your_credentials.json') # 获取账号下所有工作簿 all_workbooks = gc.list_ssheets() # 遍历每个工作簿,再遍历里面的工作表获取链接 for workbook in all_workbooks: wb = gc.open_by_key(workbook['id']) print(f"工作簿:{wb.title}") for worksheet in wb.worksheets(): print(f" 工作表「{worksheet.title}」链接:{worksheet.url}")
2. 获取每个工作簿的共享链接或直接访问链接
同样,Workbook对象也有url属性,这个属性返回的就是工作簿的直接访问链接。不过要注意,如果你的工作簿没有设置合适的共享权限,其他人打开这个链接可能会提示无权限。
如果需要生成可共享的链接(比如公开可查看、特定用户可编辑),你可以先通过pygsheets设置工作簿的权限,再获取这个url:
代码示例:
import pygsheets gc = pygsheets.authorize(service_file='your_credentials.json') all_workbooks = gc.list_ssheets() for workbook in all_workbooks: wb = gc.open_by_key(workbook['id']) # 示例:设置工作簿为公开可查看权限(按需调整) wb.share('', role='reader', type='anyone') # 获取工作簿的共享/直接访问链接 print(f"工作簿「{wb.title}」链接:{wb.url}")
这里要提醒下:设置公开权限要谨慎,根据实际需求选择合适的权限角色(比如reader、writer)和共享范围(anyone或特定邮箱)。如果工作簿已经设置好共享权限,直接调用wb.url就能拿到对应的共享链接啦。
内容的提问来源于stack exchange,提问作者mobcdi
相关产品推荐
相关产品推荐

