先来看一张萍萍无奇的图:
没错,是我手动点的。
Are you sure?
你是秀儿吗。
Yes, I'm sure!
正是在下!
上古链接
如果雇一个人7d×24h每10秒刷新一次Power BI,我需要每月支付他多少钱?
如果雇一个人7d×24h每10秒刷新一次Power BI,我需要每月支付他多少钱?【2】
以上的文章部分方法还是可以使用的,比如selenium自动操控Firefox或者Chrome,但是token的获取因为Chrome升级而无法开展。
我们知道调用API可以实现刷新的目的,但是和一般的定时刷新一样,一个账号一天只能刷新8次,这肯定是不够的。而且,要实现API刷新,必须得是管理员账号,或者管理员账号开通了权限。一来,设置麻烦,二来,大部分人的账号并不是管理员账号。
正文开始
最近发现了一个新的方法。和API生成token的原理差不多,只要能获取登录时的cookie,就可以不断生成token。token过期后就重新生成一个。
而cookie也是会过期的,这个怎么办呢?
经过长期探究,我们发现,cookie1在将要过期时,浏览器会返回一个新的cookie2,以替代之前的cookie1。
这样,我们就可以继续使用cookie2来获取token,达到了可以一直刷新的目的。
该方法经过目前的测试,已经用一个cookie连续刷新powerbi报告一周时间,也就是一周时间无任何操作,完全自动powerbi报告每2-3秒刷新一次。
任何时候打开报告,数据永远是最新的,这对于诸多需要实时同步的报告来说,简直是完美的解决方案。
然而,要实现24小时不间断的刷新,需要电脑一直开机,或者将代码布置在服务器中,这是之前一直的思路。最近接触github actions,尝试着将代码直接挂在上面运行,就不需要电脑开机了,实现了最后一步。
只是因为不同的powerbi账号对应的服务器不同,操作会麻烦些。
像世纪互联的是:
Host: wabi-mc-sha-redirect.analysis.chinacloudapi.cn
使用的一个A1P账号是:
Host: wabi-us-north-central-b-redirect.analysis.windows.net
申请的一个开发者账号又是:
Host: wabi-east-asia-b-primary-redirect.analysis.windows.net
等等,不一而足
而不同的host又需要对应着不同的链接和请求头。
不过,这些都已经搞定,只要提前确认好就ok了。
现开放给有需要的朋友们测试使用,需要提供测试者登录工作区的cookie,以及待刷新的报告的ID,即如下的两张图内容:
理论上,获取这两个内容,只能够起到刷新报告的作用,不会有任何下载、修改、获取信息等目的的实现。至少我是没搞明白,哈哈。如果可以的话,我估计会用python去发布powerbi报告的。
搞起来吧!
本文分享自 PowerBI生命管理大师学谦 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!