Useful information:
MicrosoftAppType=MultiTenantMicrosoftAppId=2dacff5b-9494-45b4-90f1-df6953d401aaMicrosoftAppTenantId=91e213e9-498d-46b9-bc35-cd0aa9390b45SubscriptionId=1106df7f-3a2b-4b98-80ff-7ab8738177dMeetingID=MSpiYTc2OWFjOC0wOTc1LTRiOTctYTlmOS03NWFlYzZiNjEwMDQqMCoqMTk6bWVldGluZ19OV1ZsTmpoaU9Ua3RNV000WWkwME1HSmhMV0ZoT1RZdE0yUmlObVk0WmpnMk9HUTVAdGhyZWFkLnYyTranscriptID=VjIjIzFiYTc2OWFjOC0wOTc1LTRiOTctYTlmOS03NWFlYzZiNjEwMDQ5MWUyMTNlOS00OThkLTQ2YjktYmMzNS1jZDBhYTkzOTBiNDUwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODAwMDAwMDAwNDQ4MzI0ZjY2ZGQyZGEwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMGEzMWUzOWY1MDhhZWM5NGVhZWM2ZDlkYzEwMjIzNWQ3IyMwZjM1MWUxNy1mMjRjLTRiZmUtYTM4NC0zZDdmN2ZmODliMzE= 
Application/RSC permission (we have added required permission in manifest)
Also we have created subscription successfully with following code:
Quote:
const transcriptSubscription = {        changeType: 'created',        notificationUrl: 'https://6ebd-2405-201-1021-7808-298c-d664-4dae-fff3.ngrok-free.app/notificationClient',        lifecycleNotificationUrl: 'https://6ebd-2405-201-1021-7808-298c-d664-4dae-fff3.ngrok-free.app/api/lifecycleNotifications',        resource: 'communications/onlineMeetings/getAllTranscripts?useResourceSpecificConsentBasedAuthorization=true',        includeResourceData: true,        encryptionCertificate: '{valid certificate}',        encryptionCertificateId:'{validId}',        expirationDateTime: '2024-07-11T11:00:00.0000000Z',        clientState: '{secretClientState}'    };  await graphClient.api('/subscriptions')        .post(transcriptSubscription).then((res) => {console.log('Subscription:', res);        }).catch((err) => {            console.log('Error:', err);        });
This code results into creating valid subscription:
res: {
  '@odata.context': 'https://graph.microsoft.com/v1.0/$metadata#subscriptions/$entity',
  id: '1106df7f-3a2b-4b98-80ff-7ab8738177d9',
  resource: 'communications/onlineMeetings/getAllTranscripts?useResourceSpecificConsentBasedAuthorization=true',
  applicationId: '2dacff5b-9494-45b4-90f1-df6953d401aa',
  changeType: 'created',
  clientState: '{secretClientState}',
  notificationUrl: 'https://6ebd-2405-201-1021-7808-298c-d664-4dae-fff3.ngrok-free.app/notificationClient',
  notificationQueryOptions: null,
  lifecycleNotificationUrl: 'https://6ebd-2405-201-1021-7808-298c-d664-4dae-fff3.ngrok-free.app/api/lifecycleNotifications',
  expirationDateTime: '2024-07-11T11:00:00Z',
  creatorId: 'b3d2c52d-3d02-43bf-bd27-6408d62af8a1',
  includeResourceData: true,
  latestSupportedTlsVersion: 'v1_2', 
We are listening on tenant so the events are getting received as expected:
subscriptionId: '1106df7f-3a2b-4b98-80ff-7ab8738177d9',
  changeType: 'created',
  clientState: '{secretClientState}',
  subscriptionExpirationDateTime: '2024-07-11T11:00:00+00:00',
  resource: "communications/onlineMeetings('MSpiYTc2OWFjOC0wOTc1LTRiOTctYTlmOS03NWFlYzZiNjEwMDQqMCoqMTk6bWVldGluZ19OV1ZsTmpoaU9Ua3RNV000WWkwME1HSmhMV0ZoT1RZdE0yUmlObVk0WmpnMk9HUTVAdGhyZWFkLnYy')/transcripts('VjIjIzFiYTc2OWFjOC0wOTc1LTRiOTctYTlmOS03NWFlYzZiNjEwMDQ5MWUyMTNlOS00OThkLTQ2YjktYmMzNS1jZDBhYTkzOTBiNDUwNDAwMDAwMDgyMDBFMDAwNzRDNUI3MTAxQTgyRTAwODAwMDAwMDAwNDQ4MzI0ZjY2ZGQyZGEwMTAwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMGEzMWUzOWY1MDhhZWM5NGVhZWM2ZDlkYzEwMjIzNWQ3IyMwZjM1MWUxNy1mMjRjLTRiZmUtYTM4NC0zZDdmN2ZmODliMzE=')",
When we are trying to call content API we are getting error:
 
await graphClient.api(`users/${ process.env.MicrosoftAppId}/onlineMeetings/${ meetingId }/transcripts/${ transcriptId }`).get().then((dataFromResponse) => {                console.log('### dataFromResponse:', dataFromResponse);})            .catch((error) => {console.log('### error:', error);});
We receive error response as follows:
body: `{"code":"Forbidden","message":"Application is not allowed to perform operations on the user '2dacff5b-9494-45b4-90f1-df6953d401aa', neither is allowed access through RSC permission evaluation.","innerError":{"date":"2024-07-10T02:45:09","request-id":"81fbbe48-d368-41d0-b5ab-f1a3e59f237a","client-request-id":"34e6cbfd-a622-0969-e57e-cc9c3c4e04c0"}}`,<pre lang="Javascript">
Let me know what are we doing wrong here, also my application is a contributor to Subscription, we also tried with "beta" version but the result is the same.
What I have tried:
From
here[
^]
, we tried to call the Graph API to get the transcript content.