msgraph-sdk-dotnet icon indicating copy to clipboard operation
msgraph-sdk-dotnet copied to clipboard

Get callTranscript Content does not work in SDK

Open MikeYeager opened this issue 1 month ago • 3 comments

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: <ThrowIfFailedResponse>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_

MikeYeager avatar May 21 '24 22:05 MikeYeager