当我尝试像这样在用户上创建模式扩展时
schemaExtension := graphmodels.NewSchemaExtension()
additionalData := map[string]interface{}{
"extensionName": "dean.ext.test.1",
"theme": "dark",
"color": "purple",
"lang": "English",
}
schemaExtension.SetAdditionalData(additionalData)
if result, err := client.UsersById(userId).Extensions().Post(context.Background(), schemaExtension, nil); err != nil {
我得到这个错误:
Error: error status code received from the API
code: BadRequest
msg: Maximum number of extensions values supported per application is 2.
但我没有在此用户上创建任何架构扩展。我创建了两个打开的扩展,但我应该能够创建其他架构扩展。
为什么错误消息说扩展是针对每个应用程序的?上面的代码试图在特定用户上创建扩展,而不是应用程序。
我想删除此用户的扩展,但在门户中找不到任何显示用户扩展的内容。在门户中何处可以找到用户的扩展?
门户显示了似乎适用于所有用户的用户属性。用户属性与扩展有关吗?我如何使用msgraph-sdk-go访问这些用户属性?
2条答案
按热度按时间iqxoj9l91#
msgraph-sdk-go目前版本为0.55,是一个非生产预览版。在与一些同事讨论后,我们决定放弃MS Graph SDK,直接使用1.0版Graph REST端点。他们在这方面取得了成功,但发现SDK没有太大帮助。
2cmtqfgy2#
我尝试在我的环境中重现相同的结果,结果如下:
当我运行下面的请求通过Graph Explorer创建扩展时,我得到了相同的错误如下:
请注意,您只能为任何目录资源(如用户、组、设备等)创建2个开放扩展。要确认这一点,您可以检查此MS Doc的限制。
如果目录中已有2个打开的扩展名,则通常会发生此错误。您可以使用下面的MS Graph查询列出用户打开的扩展名。
您可以使用
msgraph-sdk-go
和以下代码获得相同的结果:要从用户中删除分机,您可以使用以下查询,包括如下分机名称:
您可以使用
msgraph-sdk-go
从用户处删除打开扩展,代码如下:当我现在运行查询列出打开的扩展名时,我只得到了1扩展名的响应,因为其他扩展名已成功删除,如下所示:
您当前用于创建模式扩展的代码正在创建
open extensions
。要使用
msgraph-sdk-go
创建模式扩展,请使用以下示例代码交叉检查您的代码:正如您在回答中提到的,
THE GO SDK IS IN PREVIEW. IT IS FOR NON-PRODUCTION USE ONLY
。因此,目前最好坚持使用REST API调用,通过MS Graph管理资源。