首页 > 其他分享 >用Power Automate获取SharePoint文件内容

用Power Automate获取SharePoint文件内容

时间:2023-07-20 14:55:14浏览次数:37  
标签:文件 string Power SharePoint 获取 Automate Claims type

1.根据文件夹路径获取路径下所有文件内容

使用SharePoint连接器的“获取文件(仅属性)”操作,站点地址选SharePoint的默认站点,库名选择对应文档库,我这里把SharePoint集成到Dynamics365的实体附件,库名就是对应的实体名。仅限文件夹条目为 /entityname/relativeurl, entityname为实体名,relativeurl为文档的相对路径,在Dynamics365的文档位置实体中可查到。

 将查询到的结果转为json,json架构可以通过流的测试将上面步骤的输出结果下载下来,然后生成下面的架构。

{
    "type": "array",
    "items": {
        "type": "object",
        "properties": {
            "@@odata.etag": {
                "type": "string"
            },
            "ItemInternalId": {
                "type": "string"
            },
            "ID": {
                "type": "integer"
            },
            "Modified": {
                "type": "string"
            },
            "Editor": {
                "type": "object",
                "properties": {
                    "@@odata.type": {
                        "type": "string"
                    },
                    "Claims": {
                        "type": "string"
                    },
                    "DisplayName": {
                        "type": "string"
                    },
                    "Email": {
                        "type": "string"
                    },
                    "Picture": {},
                    "Department": {
                        "type": "string"
                    },
                    "JobTitle": {
                        "type": "string"
                    }
                }
            },
            "Editor#Claims": {
                "type": "string"
            },
            "Created": {
                "type": "string"
            },
            "Author": {
                "type": "object",
                "properties": {
                    "@@odata.type": {
                        "type": "string"
                    },
                    "Claims": {
                        "type": "string"
                    },
                    "DisplayName": {
                        "type": "string"
                    },
                    "Email": {},
                    "Picture": {},
                    "Department": {},
                    "JobTitle": {}
                }
            },
            "Author#Claims": {
                "type": "string"
            },
            "OData__DisplayName": {
                "type": "string"
            },
            "{Identifier}": {
                "type": "string"
            },
            "{IsFolder}": {
                "type": "boolean"
            },
            "{Thumbnail}": {
                "type": "object",
                "properties": {
                    "Large": {
                        "type": "string"
                    },
                    "Medium": {
                        "type": "string"
                    },
                    "Small": {
                        "type": "string"
                    }
                }
            },
            "{Link}": {
                "type": "string"
            },
            "{Name}": {
                "type": "string"
            },
            "{FilenameWithExtension}": {
                "type": "string"
            },
            "{Path}": {
                "type": "string"
            },
            "{FullPath}": {
                "type": "string"
            },
            "{IsCheckedOut}": {
                "type": "boolean"
            },
            "{VersionNumber}": {
                "type": "string"
            }
        },
        "required": [
            "@@odata.etag",
            "ItemInternalId",
            "ID",
            "Modified",
            "Editor",
            "Editor#Claims",
            "Created",
            "Author",
            "Author#Claims",
            "OData__DisplayName",
            "{Identifier}",
            "{IsFolder}",
            "{Thumbnail}",
            "{Link}",
            "{Name}",
            "{FilenameWithExtension}",
            "{Path}",
            "{FullPath}",
            "{IsCheckedOut}",
            "{VersionNumber}"
        ]
    }
}
View Code

结果内的FullPath为文件的完整路径,接下来就可以通过SharePoint的“使用路径获取文件内容”操作来获取文件的内容,下面的fileBody就是文件的base64。

 

 

另外,“获取文件(仅属性)”操作,如果文件路径不存在(例如Dynamics365中创建了实体记录,但没有上传文件,这个路径在SharePoint就还没有生成),获取文件会报错,我们可以在获取前校验一下这个文件夹存不存在,可以使用SharePoint的发送http到SharePoint操作。

 Uri为_api/web/GetFolderByServerRelativeUrl('/new_contract/[相对路径]/Exists。

如果客户端想要直接浏览文件,可以创建文件的共享链接,这样就可以通过url直接查看文件

 

标签:文件,string,Power,SharePoint,获取,Automate,Claims,type
From: https://www.cnblogs.com/fieldty/p/17567998.html

相关文章

  • PowerShell Sql server 系列一:连接SQl
    前置条件PowerShell基础知识。模块,参数,凭证Sqlserver基础知识,SSMS操作熟练labSqlserver2017-2022Dev版本PowerShell5.1以上安装dba模块Install-Module-Namedbatools测试和连接sql测试sql#Windows账户连接Test-DbaConnection-SqlInstancekite\mssqls......
  • Perkins Engines: Reliable Power in Harsh Environments and High-Strength Operatio
    PerkinsEngines:ReliablePowerinHarshEnvironmentsandHigh-StrengthOperationsHelloeveryone!TodayIwouldliketosharewithyouapowerfulenginedesignedtocopewithharshenvironmentsandhigh-intensityworkingconditions-thePerkinsengine.W......
  • Power BI外挂级辅助工具 - DAX Studio 入门 第一篇(共两篇)
    今天早上又是美好的一天,进公司刚落座。隔壁部门的Tony哥直接杀了过来,“米高米高,我们组开发了一个PBI报告,但是现在有点小问题,帮我们看下怎么解决?”是否有方法非常灵活把PBI报告里面的基础数据导出成平面文件分享给其他同事?是否有方法非常方便的查询和验证PBI报告中的数据准确性?......
  • Proj. CMI Paper Reading: Conversational Automated Program Repair
    Abstract背景:之前APR与大模型的结合仅仅使用了一些特殊构建的input/prompt本文:conversationalAPR方法:使用long-termcontextwindow来记录之前的validationfeedback实验:在10个LLMs上进行对比展示改进......
  • 使用Power Automate上传附件到Dynamics 365集成的SharePoint
      在Dynamics365中使用SharePoint集成做实体的附件管理,这里不像用Annotation实体存放附件可以直接用代码直接创建Annotation记录,如果想要对外部提供接口把附件上传到SharePoint,我们可以使用PowerAutomate中的SharePoint组件来生成文件,通过HTTP流供给外部系统调用。  下......
  • Power BI许可证分类介绍
     PowerBI许可证一般分为:免费许可证、Pro许可证或Premiumper-user许可证。三种许可证的定义这里就不再说明了。通过下面的三种许可证的功能对比,可以让你快速了解到,那种许可证适合你。 PowerBI订阅和许可证的配置策略:目前一种常见的情况是公司购买Premium订阅时,由......
  • 前N个公司(Power Query)
    问题:各国所属公司数量从多到少依次排列let源=Excel.CurrentWorkbook(){[Name="表1"]}[Content],按不同国家分别处理=Table.Group(源,{"国家"},{"公司",eachTable.AddIndexColumn(Table.Sort(Table.Group(_,{"公司"},{"计数",eachTable.R......
  • Power APP Canvas组件简单控制画布控件
    效果图:图中绿色部分是组件,通过组件控制画布中按钮的点击事件。具体实现:1、组件按钮中赋值一个变量比如左按钮给yyy赋值false右按钮赋值true;2、增加输出属性                          将其赋值为此变量,此处用布尔......
  • Windows11美化Powershell
    1.前言稍微美化了一下win11的powershell,在此记录下免得以后忘记了流程。美化方案是:PowerShell7+OhMyPosh时间:2023-07-132.安装PowerShell7PowerShell7是目前win下比较新的一个shell工具,个人感觉要比WindowsPowerShell(PowerShell5),命令提示符(cmd)这些好用......
  • POJ 2109 Power of Cryptography 数学题 double和float精度和范围
    PowerofCryptographyTimeLimit:1000MSMemoryLimit:30000KTotalSubmissions:21354Accepted:10799DescriptionCurrentworkincryptographyinvolves(amongotherthings)largeprimenumbersandcomputingpowersofnumbersamongtheseprimes.Workint......