通过 API 访问外部公共网站上的 Dataverse/Power App 数据

Posted

技术标签:

【中文标题】通过 API 访问外部公共网站上的 Dataverse/Power App 数据【英文标题】:Accessing Dataverse/Power App Data on external Public Website via API 【发布时间】:2021-11-11 23:42:29 【问题描述】:

我很难找到关于如何实现这一目标的类似想法。

我们目前正在使用模型驱动的电源应用程序/Dataverse 来容纳学校应用程序。提交申请后,我们的代表将在完成各个步骤时开始更新申请记录“申请状态”自定义字段。

我们的合作伙伴想要创建一个外部网站(只是简单的 html/CSS/javascript)来显示申请查找,申请者可以在其中输入申请 ID 或向申请者发送直接链接以查看申请状态。 (例如:domain.com/application-status/?appid=1234)

这个外部的公共网站必须通过 web api 连接到我们的 dataverse/power 应用程序才能发出请求并将其显示给搜索/查看网站的申请人。

如何做到这一点?我所读到的是,查找数据的用户需要拥有 Microsoft 帐户并在我们的环境中进行身份验证才能查看数据。

有人可以直接告诉我如何完成这项工作(文章或现有线程)。非常感谢您的帮助。

【问题讨论】:

【参考方案1】:

这通常是通过使用 PowerPlatform 门户来处理的。 门户旨在允许与 B2B/B2C 交互。 然而,这是一个高昂的价格标签。

另一种方法是让您的网站使用 Rest API 调用您的 Dataverse 表。 要启用这些,您需要在 Azure 中创建客户端应用程序注册,并将此应用程序用户添加到您的环境中作为应用程序用户。注册后,分配适当的权限(Sysadmin、Syscustomizer,任何您想要的),您就可以分两步访问您的环境:

    根据您的环境范围、客户端 ID 和客户端密码生成访问令牌。 使用您的应用程序用户提供的访问令牌来执行您的 CRUD 操作。

【讨论】:

以上是关于通过 API 访问外部公共网站上的 Dataverse/Power App 数据的主要内容,如果未能解决你的问题,请参考以下文章

通过 YouTube 数据 API 访问公共数据,无需身份验证。

Google BigQuery 通过 API 访问公共数据集

通过 Instagram API 访问公共 Instagram 内容而不使 accesstoken 过期

获取机器公网IP

强制滚动到外部网站上的特定最高值

仅通过localhost限制执行