CRM Dynamics 插件访问网络文件夹

CRM Dynamics Plugin access to a network folder

我希望有人能帮助我解决这个问题,我必须下载一个附在 CRM 案例中的注释的文件并将其保存在网络文件夹中。要连接我正在使用 WNetAddConnection2 函数的文件夹,但我收到错误代码 120,即

ERROR_CALL_NOT_IMPLEMENTED 120 (0x78) 此系统不支持此功能

我尝试从笔记本电脑的控制台项目连接到该文件夹​​,我可以做到,所以问题似乎是无法从 CRM 连接到该文件夹​​。

这是我使用的函数:

public ConnectToSharedFolder(string networkName, NetworkCredential credentials)
{
            _networkName = networkName;

            var netResource = new NetResource
            {
                Scope = ResourceScope.GlobalNetwork,
                ResourceType = ResourceType.Disk,
                DisplayType = ResourceDisplaytype.Share,
                RemoteName = networkName
            };

            var userName = string.IsNullOrEmpty(credentials.Domain)
                ? credentials.UserName
                : string.Format(@"{0}\{1}", credentials.Domain, credentials.UserName);

            var result = WNetAddConnection2(
                netResource,
                credentials.Password,
                userName,
                0);

            if (result != 0)
            {
                throw new Win32Exception(result, "Error connecting to remote share");
            }
        }

有人知道这是否可行吗? 谢谢!

Dynamics Online 只允许 Sandboxed mode 中的插件,它只允许通过 HTTP 或 HTTPS 进行外部访问。

您将无法从 Dynamics Online 插件写入网络文件夹。

插件必须将文件保存到 Azure Blob 存储容器之类的地方,然后使用 Power Automate Flow 之类的单独进程将其从那里下载到网络文件夹。

想想看,您可能会 post 将文件直接发送到 Power Automate Flow HTTP 端点,然后让 Flow 将其保存到网络文件夹,跳过 Azure Blob 存储。

即使系统是本地的并且您可以在沙盒模式之外注册插件,您还是要考虑到系统有一天可能会在线,所以写信给一个网络文件夹。