Web API 函数和行为示例(PowerShell)

此 PowerShell 版本 7.4.0 示例演示如何使用 Microsoft Dataverse Web API 调用绑定和未绑定的函数和作,包括自定义作。 此示例实现 Web API 函数和操作示例中详述的 Dataverse 操作和控制台输出。

此示例使用 Dataverse Web API PowerShell 帮助程序函数 来管理身份验证,并提供可重用的函数来执行常见作。 这些脚本通过点引用方式引用,具体行如下:

. $PSScriptRoot\..\Core.ps1
. $PSScriptRoot\..\TableOperations.ps1
. $PSScriptRoot\..\CommonFunctions.ps1

注释

此示例应适用于 Windows、Linux 和 macOS,但仅在 Windows 上进行了测试。

先决条件

在运行此示例之前,应阅读以下文章来解释这些示例使用的概念和模式:

这些文章具有相同的先决条件。

安装或验证是否已安装以下内容

验证安装

  1. 打开 Visual Studio Code。

  2. 在“终端”菜单中,选择“新终端”。

  3. 在 Visual Studio Code 导航窗格中,选择 PowerShell 扩展的图标。

  4. 在 Visual Studio Code 终端窗口中复制并粘贴以下脚本:

    Write-Host 'PowerShell Version:'$PSVersionTable.PSVersion.ToString()
    Write-Host 'PowerShell Az version:'(Get-InstalledModule Az).Version
    
  5. Enter。 输出应如下所示:

    PowerShell Version: 7.4.0
    PowerShell Az version: 11.1.0
    

如果未看到如下所示的结果,请安装或更新必备组件。

还需要

  • Dataverse 环境的有效用户帐户
  • 要连接到的 Dataverse 环境的 URL。 请参阅 “查看开发人员资源 ”,了解如何查找它。 它看起来如下所示:https://yourorg.crm.dynamics.com/,其中 yourorg.crm 不同。
  • 基本了解 PowerShell 脚本语言

如何运行此示例

  1. 克隆或下载 PowerApps-Samples 存储库。

  2. 使用 Visual Studio Code 打开 FunctionsAndActions.ps1 文件

  3. 编辑此行以使用要连接到的环境的 URL:

    Connect 'https://yourorg.crm.dynamics.com/' # change this

  4. (可选)如果不想删除此示例创建的记录,请将 $deleteCreatedRecords 变量设置为 $false

  5. F5 运行示例。

  6. 首次运行示例时,会打开一个浏览器窗口。 在浏览器窗口中,输入或选择要用于进行身份验证的凭据。

若要以其他用户身份进行连接,请运行 Disconnect-AzAccount 命令 ,然后重试。

Code

此示例的代码位于: PowerApps-Samples/dataverse/webapi/PS/FunctionsAndActions/FunctionsAndActions.ps1

演示

此示例有 9 个区域:

第 1 节:Unbound 函数 WhoAmI

作:调用 WhoAmI 函数 以检索有关当前用户的信息。

第 2 节:未绑定函数 FormatAddress

操作:

  • 使用美国地址的参数调用 FormatAddress 函数
  • 使用日本地址的参数调用同一函数,以演示不同的格式。

第 3 节:未绑定函数 InitializeFrom

操作:

  • 创建帐户记录作为原始记录。
  • 调用 InitializeFrom 函数 以获取基于原始记录的新记录的数据。
  • 使用从 InitializeFrom中返回的数据创建新帐户记录。

第 4 节:未绑定函数 RetrieveCurrentOrganization

作:调用 RetrieveCurrentOrganization 函数 以检索有关当前组织的信息。

第 5 节:Unbound 函数 RetrieveTotalRecordCount

作:调用 RetrieveTotalRecordCount 函数 以检索指定表的记录总数。

第 6 节:绑定函数 IsSystemAdmin 自定义 API

操作:

  • 检测组织中是否 sample_IsSystemAdmin 安装了自定义 API。
  • 如果未安装,请导入包含自定义 API 的托管解决方案。
  • 使用 sample_IsSystemAdmin 函数检索系统用户记录并测试每个记录,以确定他们是否具有系统管理员安全角色。

第 7 节:未绑定操作 GrantAccess

操作:

  • 创建要共享的帐户记录。
  • 检索当前用户以外的已启用用户。
  • 使用 RetrievePrincipalAccess 函数 检查用户的访问权限。
  • 使用 GrantAccess Action 向用户授予额外的访问权限。
  • 再次使用 RetrievePrincipalAccess 验证是否授予访问权限。

第 8 节:绑定操作 AddPrivilegesRole

操作:

  • 创建与当前用户的业务部门关联的安全角色。
  • 检索具有扩展权限的角色以显示默认权限。
  • 检索有关要添加到角色的特定特权的信息。
  • 使用 AddPrivilegesRole 操作 将特权添加到角色。
  • 再次检索角色以确认添加了权限。

第 9 节:删除示例记录

操作:本示例中创建的每条记录均在生成时被添加至列表。 本部分遍历该列表并删除每条记录。

清理

默认情况下,此示例将删除在其中创建的所有记录。 如果要在示例完成后查看已创建的记录,请将 deleteCreatedRecords 变量更改为该变量 false ,系统会提示你确定是否要删除这些记录。

另请参阅

使用 Dataverse Web API
使用 Web API 函数
使用 Web API 操作
通过 PowerShell 和 Visual Studio Code 快速入门 Web API
将 PowerShell 和 Visual Studio Code 与 Dataverse Web API 配合使用
Web API 示例
Web API 函数和操作示例
Web API 函数和操作示例 (C#)
Web API 函数和操作示例(客户端 JavaScript)