我们正在开发一个应用程序来使用 MIP SDK(我们当前使用版本 1.6.103)打开和编辑受保护的 PDF 文件。到目前为止,我们能够打开使用不同版本的 Microsoft 保护(包括 MicrosoftIRMServices 版本 1)保护的文件。
我们现在遇到了一位客户的问题。他们将文件保存在 SharePoint 2016 目录中,该目录配置为自动为所有上传的文件添加保护。他们所有的环境都在本地,并使用 AD RMS 服务进行保护。他们在服务器端没有 Azure IP。
当我们下载生成的文件并尝试打开时,我们创建了一个mipns::FileEngine,然后调用CreateFileHandlerAsync()来创建一个 mipns::FileHandler。此调用失败并出现以下 mipns::NetworkError:
NetworkError : Content protected by on prem servers is unsupported., NetworkError.Category=FailureResponseCode, HttpRequest.SanitizedUrl=https://api.aadrm.com/my/v2/enduserlicenses,
正如错误所暗示的那样,我怀疑问题在于使用了本地保护。我认为它可能会按照 https://docs.microsoft.com/en-us/information-protection/develop/quick-app-adrms#configuring-protection-api-in-c-to-use-的说明解决ad-rms 所以,按照这些说明,我创建了 FileEngine
ProtectionEngine::Settings engineSettings("", authDelegate, "");
engineSettings.SetProtectionCloudEndpointBaseUrl("http://<my server>/_wmcs/licensing");
但到目前为止没有成功,虽然错误已经改变,现在
NetworkError : The protection service is unavailable., NetworkError.Category=FailureResponseCode, HttpRequest.SanitizedUrl=https://<my server>/my/v1/enduserlicenses,
(当然<my server>
被本地服务取代)
我走错方向了吗?如果不是,也许我使用了错误的端点?如何按照链接页面中的建议找到要传递给SetProtectionCloudEndpointBaseUrl的端点 URL?
谢谢