Microsoft graph api 以编程方式创建TeamTab过去可以工作,但现在在更新库后出现错误

Microsoft graph api 以编程方式创建TeamTab过去可以工作,但现在在更新库后出现错误,microsoft-graph-api,Microsoft Graph Api,当我以编程方式创建一个团队选项卡时,您能帮助我解决由于出现此错误而遗漏的问题吗?在我将图形库更新到以前图形库的更高级别之前,这些代码一直在工作 Code: BadRequest Message: Value cannot be null. Parameter name: entity Inner error: AdditionalData: request-id: 09211d2b-ed86-4f89-8667-42f749521af1 date: 1/17/2020 8

当我以编程方式创建一个团队选项卡时,您能帮助我解决由于出现此错误而遗漏的问题吗?在我将图形库更新到以前图形库的更高级别之前,这些代码一直在工作

Code: BadRequest
Message: Value cannot be null.
Parameter name: entity
Inner error:
    AdditionalData:
    request-id: 09211d2b-ed86-4f89-8667-42f749521af1
    date: 1/17/2020 8:41:28 AM
ClientRequestId: 09211d2b-ed86-4f89-8667-42f749521af1
下面是在我更新包之前一直运行的代码,但现在给出了错误


            //Creates Tab object for Dashboard
            TeamsTab teamsDashboardTab = new TeamsTab()
            {
                DisplayName ="My Dashboard",
                TeamsAppId = AppId,
                Configuration = new TeamsTabConfiguration
                {
                    EntityId = AppId,
                    ContentUrl = TargetServer + project.Id,
                    WebsiteUrl = TargetServer + project.Id
                }
            };

var teamsTab = await _graphClient.Teams[teamId].Channels[channelId].Tabs.Request().AddAsync(teamsDashboardTab);

下面是我正在使用的图形库的当前版本

  <package id="Microsoft.Graph.Auth" version="1.0.0-preview.2" targetFramework="net452" />
  <package id="Microsoft.Graph.Beta" version="0.9.0-preview" targetFramework="net452" />
  <package id="Microsoft.Graph.Core" version="1.18.0" targetFramework="net452" />
  <package id="Microsoft.Identity.Client" version="4.5.1" targetFramework="net452" />
  <package id="System.Security.Principal" version="4.3.0" targetFramework="net452" />
  <package id="System.ValueTuple" version="4.4.0" targetFramework="net452" />

我在尝试向频道添加新的网站选项卡时遇到了相同的问题

为了让它工作,我必须在
TeamsTabConfiguration
中将
ODataType
设置为
null
。代码应该如下所示:

var tab = await _graphClient.Teams[teamId].Channels[channelId].Tabs.Request().WithMaxRetry(3).AddAsync(
new TeamsTab
{
    DisplayName = TabTitle,
    ODataBind = $"{_teamsFactory.GraphV1Endpoint}/appCatalogs/teamsApps/com.microsoft.teamspace.tab.web",
    Configuration = new TeamsTabConfiguration
    {
        ODataType = null,
        EntityId = null,
        WebsiteUrl = $"{_appUrl}/1",
        ContentUrl = $"{_appUrl}/1",
        RemoveUrl = null
    }
});

这只是一个解决办法。它在GitHub()上被标记为“service bug”

我不知道为什么会发生这种情况,但是当我在SDK客户机上遇到一个奇怪的错误时,我发现最好使用另一种方法直接调用graph api。然后我可以用这个方法来分离出发生了什么。。您甚至可以使用graphclient轻松地对http会话进行身份验证。以Hi@ChadCarlton为例,我尝试过的替代方法是更改当前有效的包版本,但折衷的是,用户状态类不在该包中。这是现在可用于创建选项卡的软件包版本,
Microsoft.Graph.Auth version=1.0.0-preview.1、Microsoft.Graph.Beta version=0.8.0-preview、Microsoft.Graph.Core version=1.17.0和Microsoft.Identity.Client version=4.3.1
仍会创建选项卡,但会引发异常。您可以尝试捕获它,直到Microsoft修复该错误!