microsoftgraph / microsoftgraph/msgraph-sdk-dotnet

Get callTranscript Content does not work in SDK

Open
#2,505 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

dependency:metadata type:bug
Dominant language
C#
Stars
789
Forks
264
Avg merge
15h 17m
Merged PRs (30d)
3

Description

Describe the bug

I am trying to download transcripts and recordings using Microsoft.Identity.Web.GraphServiceClient 2.18.1. The docs ?? say this:

// Code snippets are only available for the latest version. Current version is 5.x

// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Users["{user-id}"].OnlineMeetings["{onlineMeeting-id}"].Transcripts["{callTranscript-id}"].Content.GetAsync();

Which should return a Task<Stream> according to Intellisense. When I run this code, I get the following exception, Invalid format 'application/octet-stream, application/json' specified. with a 400 response code. If I remove .Content. I do get the transcript information.

Expected behavior

I would expect a stream to be returned with a 200 response. application/octet-stream would seem to be the correct content type for that.

How to reproduce

n/a

SDK Version

2.18.1

Latest version known to work for scenario above?

No response

Known Workarounds

I can download the transcript via postman if I specify the $format=text/vtt query parameter. Can't find a work-around within the SDK.

Debug output
Click to expand log ```

Invalid format 'application/octet-stream, application/json' specified. Exception Attributes:
Message: Invalid format 'application/octet-stream, application/json' specified.
Exception type: Microsoft.Graph.Models.ODataErrors.ODataError
Source: Microsoft.Kiota.Http.HttpClientLibrary
Thrown by code in method: MoveNext
Thrown by code in class: d__28
Stack Trace:
Method: Microsoft.Kiota.Http.HttpClientLibrary.HttpClientRequestAdapter.ThrowIfFailedResponse(HttpResponseMessage response, Dictionary2 errorMapping, Activity activityForAttributes, CancellationToken cancellationToken) Method: Microsoft.Kiota.Http.HttpClientLibrary.HttpClientRequestAdapter.SendPrimitiveAsync[ModelType](RequestInformation requestInfo, Dictionary2 errorMapping, CancellationToken cancellationToken) Method: Microsoft.Kiota.Http.HttpClientLibrary.HttpClientRequestAdapter.SendPrimitiveAsync[ModelType](RequestInformation requestInfo, Dictionary2 errorMapping, CancellationToken cancellationToken) Method: Microsoft.Graph.Users.Item.OnlineMeetings.Item.Transcripts.Item.Content.ContentRequestBuilder.GetAsync(Action1 requestConfiguration, CancellationToken cancellationToken) Line #: 500 -- Method: CleverTeamsIntegration.CleverTeamsIntegration.TestGetTranscriptInfo(HttpRequestData req) -- Source File: C:\Repos\CleverProducts\Clever.Video.TeamsIntegration\CleverTeamsIntegration\CleverTeamsIntegration.cs

</details>


### Configuration

- OS: Windows 11  x64

### Other information

_No response_

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with ContentRequestBuilder.GetAsync in the Microsoft Graph .NET SDK 2.18.1 and review the request sent for the transcript content endpoint. Compare it with the successful Postman request using $format=text/vtt and the reported application/octet-stream, application/json error. Done means the SDK request returns the transcript stream with a 200 response.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
api
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.