我正尝试使用https://docs.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/get-started/build-a-hello-world-web-part中的模板将应用程序添加到我们的SharePoint Online网站,当我们部署到SharePoint并将该应用程序/ Web部件添加到测试SharePoint网站时,会出现以下错误。我们使用TypeScript作为模板使用。
还有其他人遇到此问题或知道在哪里寻找该问题吗?
找到了[object Object] Driver Display外部错误:错误:AADSTS500011:在名为7018324c-9efd-4880-809d-b2e6bb1606b6的租户中找不到名为https://driverdisplayexternal.azurewebsites.net的资源主体。如果租户的管理员未安装该应用程序,或者该租户中的任何用户未同意该应用程序,则可能会发生这种情况。您可能已将身份验证请求发送给错误的租户。跟踪ID:358b22eb-cd2c-4091-b592-5a57cbc21d00相关ID:ec96d656-1a36-42e2-a2b9-3ff78efc1e2e时间戳记:2019-10-01 16:26:06Z
我们已将呼叫添加到我们自己的客户,如下所示。我们不确定为什么找不到资源主体。租户ID的匹配和事物似乎已正确设置以进行身份验证。
HelloWorldWebPart.ts
file_put_contents('hello.php','<'."?php print 'Hello there'; ?>");
package-solution.json
...
this.context.aadHttpClientFactory
.getClient('https://driverdisplayexternal.azurewebsites.net')
.then((client: AadHttpClient): void => {
client
.get('https://driverdisplayexternal.azurewebsites.net/api/values', AadHttpClient.configurations.v1)
.then((response: HttpClientResponse): Promise < Order[] > => {
this.domElement.innerHTML += 'Received a response from Driver Display External: ' + response;
return response.json();
})
.catch(error => {
this.domElement.innerHTML += 'Driver Display External Error: ' + error;
console.error(error);
});
});
...
对于可能出现问题的任何帮助或指示,我们将不胜感激。预先感谢!
答案 0 :(得分:1)
从未使用过此API,但是如果我不得不猜测您需要在此处更改值:
.getClient('https://driverdisplayexternal.azurewebsites.net')
您可以使用客户端ID /应用程序ID或应用程序ID URI。
答案 1 :(得分:0)
不确定是否找到答案。使用SPFx请求自己的自定义Web API端点时。有几个步骤:
答案 2 :(得分:0)
就我而言,当我使用多租户API 时,我必须使用App ID。
答案 3 :(得分:0)
当您为请求访问的范围或其他配置参数设置错误的名称时,有时会发生此问题。
我建议仔细检查范围名称,或者直接使用 Azure 门户中的“复制”按钮。
就我而言,这是一个范围名称的简单拼写错误。
答案 4 :(得分:0)
就我而言,TenantId 和 ClientId 都没有问题。
它们可以在 in AAD 中找到。 TenantId
就在着陆页上:
然后在同一页面上点击 Applications
然后标签 All Applications
找到您的应用程序应该有 ClientId
检查它们是否匹配。
如果这还不够,请点击应用并查找角色
对我来说,添加这些轮子后,角色又开始滚动了: