所以我必须自动化一个从 Microsofts Planner 网站下载 excel 文件的过程。我试过用 3 种不同的方式来做这件事,但总是遇到死胡同。似乎唯一可行的解决方案是模仿按键但在我的工作场所被认为是“不好的做法”的脚本。
首先显然是使用 Microsoft Graph。它不起作用,因为它每次发出请求时都必须向我们公司的 MS ADMIN 请求权限。所以这是不行的。
编辑:当@Crowcoder 试图回答帖子时,他的解决方案不起作用。为了让它工作,我们必须注册到 Azure Active Directory,我们目前不使用它。(我们使用 MS 本地 AD)。
然后我尝试使用 GnuWin32(Windows 的 Wget)。不起作用,因为它需要您登录 2 次,并且您只能输入一次信用凭证(或者也许您可以?-> 无法弄清楚如何)。
之后,我尝试将命令用于 powershell。这很接近,但也需要我使用弹出窗口登录。
编辑:在这里我们看到来自@lit 的anwser 也不适合。我已经尝试过该解决方案,它会提示登录 Google chrome 警报,然后还会提示登录 MS Planner(但您只能将您的信用凭证输入一次,如下面的代码所示)。
Export-PlannerUserContent -UserAadIdOrPrincipalName -username -ExportDirectory "C:\pathToExport"
对于最后部分,似乎唯一可行的解决方案是我模仿键盘按下以下载文件的最后一个解决方案。程序如何运行:
- 打开 chrome(带有 MS planner 网站的快捷方式)
- 模拟键盘按下打开 DEV 控制台 (ctrl+shift+J)
- 模仿键盘输入文本(Javascript)点击登录到规划器(如果存在,如果不存在,函数返回错误并跳过这部分)
- 模仿键盘输入找到需要的按钮并打开/按下下载按钮的JS函数。
- 之后它选择第二个计划并下载它(同样模仿键盘文本输入)。
虽然这个解决方案是唯一一个“有效”的解决方案,但我被告知我应该找到一个不同的解决方案,因为键盘模拟器对我们公司来说不是一个可行的解决方案,因为我们有严格的政策。无法使用它的另一个原因是因为我试图使用没有 GUI 的服务帐户使该脚本在我们的服务器上运行。所以我在那里也遇到了某种死胡同。
编辑:所以我在这里尝试做的是实现一个“无头”铬,它可以做它现在所做的,但似乎无法找到一个突破低谷。
所以我的问题是,是否有人对改进现有解决方案或创建更合适的替代解决方案有任何提示、指示或建议。
很想听听你对我应该研究或做什么的意见。我还想指出,如果没有繁重的代理配置,大多数 API 调用都无法工作,我希望尽可能避免这种配置。