Javascript 通过脚本从MS Planner下载excel文件

Javascript 通过脚本从MS Planner下载excel文件,javascript,c#,powershell,cmd,microsoft-planner,Javascript,C#,Powershell,Cmd,Microsoft Planner,因此,我必须自动化从MicrosoftsPlanner网站下载excel文件的过程。 我尝试过三种不同的方法,但总是走到死胡同。唯一可行的解决方案是模仿按键的脚本,但在我的工作场所被认为是“坏习惯” 首先显然是使用微软图形。它不起作用,因为每次它提出请求时都必须向我们公司的MS管理员请求权限。所以这是不可能的 编辑:@Crowcoder试图编辑帖子,但他的解决方案不起作用。为了让它工作,我们必须注册到Azure Active Directory,而我们目前不使用它。(我们使用MS本地广告)。 E

因此,我必须自动化从MicrosoftsPlanner网站下载excel文件的过程。 我尝试过三种不同的方法,但总是走到死胡同。唯一可行的解决方案是模仿按键的脚本,但在我的工作场所被认为是“坏习惯”

首先显然是使用微软图形。它不起作用,因为每次它提出请求时都必须向我们公司的MS管理员请求权限。所以这是不可能的

编辑:@Crowcoder试图编辑帖子,但他的解决方案不起作用。为了让它工作,我们必须注册到Azure Active Directory,而我们目前不使用它。(我们使用MS本地广告)。

Export-PlannerUserContent -UserAadIdOrPrincipalName -username -ExportDirectory "C:\pathToExport"
然后我尝试使用GnuWin32(Wget for windows)。它不起作用,因为它要求您登录2次,并且您只能输入一次creditentials(或者您可以?->不知道如何输入)

之后,我尝试使用powershell命令。这很接近,但也需要我登录一个弹出窗口

Edit:这里我们看到@lit中的anwser也不适合。我尝试过该解决方案,它会提示您登录Google chrome alert,然后再登录MS Planner(但您只能输入一次您的信用,如下面的代码所示)。

Export-PlannerUserContent -UserAadIdOrPrincipalName -username -ExportDirectory "C:\pathToExport"
对于最后一部分,唯一有效的解决方案是最后一个,我模拟键盘按键来下载文件。程序运行方式:

  • 打开chrome(带有MS planner网站的快捷方式)
  • 模拟键盘按下以打开开发人员控制台(ctrl+shift+J)
  • 模拟键盘,以便输入文本(Javascript)以单击登录到planner(如果存在,如果不存在,函数将返回错误并跳过此部分)
  • 模拟键盘,以便输入JS函数,找到所需的按钮并打开/按下下载按钮
  • 之后,它选择第二个平面并下载它(与键盘文本输入相同)
  • 虽然这个解决方案是唯一一个“有效”的,但有人告诉我,我应该找到一个不同的解决方案,因为键盘模拟器对于我们公司来说不是一个可行的解决方案,因为我们有严格的政策。无法使用它的另一个原因是,我试图使用没有GUI的服务帐户在服务器上运行此脚本。所以我也遇到了某种死胡同

    编辑:所以我想在这里实现一个“无头”的chrome,它可以像现在这样做,但似乎找不到一个突破点。

    Export-PlannerUserContent -UserAadIdOrPrincipalName -username -ExportDirectory "C:\pathToExport"
    
    所以我的问题是,是否有人有任何建议、建议或建议来改进现有的解决方案或创建更合适的替代方案

    我很想听听你对我应该研究或做什么的意见。
    我还想指出,如果没有繁重的代理配置(如果可能的话,我希望避免这种配置),大多数API调用都无法工作。

    如果您使用应用程序权限而不是委派权限,并且管理员对Azure应用程序注册授予一次许可,则您应该能够使用Graph,而不会遇到您描述的麻烦。当我通过图形浏览器查询planner任务时,它使用Group.Read.All和Group.ReadWrite.All范围。有用的doc@Crowcoder Hello。谢谢你的来信。请您详细解释一下,因为我试图找到“组”权限,但找不到。我只能同意基本“用户”类型的权限,如User.ReadBasic.All&User.Read。其他人要求我仍然从我的GA获得授权。因此,您必须使用委派,但如果您的用户不是Active Directory用户,这将不起作用。使用委派访问权,您必须登录用户,然后获取令牌,以便可以调用API。如果你的应用程序让用户登录,那么下一步就是创建一个to图。我没有任何东西可以倒进一个答案,这不是小事,但文档也不错。