call: updateRecordingStatus
本文内容
命名空间:microsoft.graph
重要
Microsoft Graph版本下的 /beta API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
更新与呼叫关联的应用程序录制状态。 这需要使用基于Teams录制解决方案 。
其他限制:如果不首先调用 updateRecordingStatus API 以指示录制已开始,并且从该 API 收到成功回复,则不得使用媒体访问 API 记录或以其他方式保留应用程序访问的呼叫或会议中的媒体内容,或者记录派生自该媒体内容 ("record"或"recording") 的数据。 如果应用程序开始录制任何会议,则必须在调用 updateRecordingStatus API 之前结束录制,以指示录制已结束。
Permissions
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限 。
权限类型
权限(从最低特权到最高特权)
委派(工作或学校帐户)
不支持
委派(个人 Microsoft 帐户)
不支持
Application
Calls.JoinGroupCalls.All、Calls.AccessMedia.All
HTTP 请求
POST /app/calls/{id}/updateRecordingStatus
POST /communications/calls/{id}/updateRecordingStatus
注意: /app 路径已弃用。 今后将使用 /communications 路径。
名称
说明
Authorization
Bearer {token}。必需。
Content-type
application/json. Required.
请求正文
在请求正文中,提供具有以下参数的 JSON 对象。
参数
类型
说明
clientContext
String
唯一的客户端上下文字符串。 最大限制为 256 个字符。
状态
String
录制状态。 可能的值为: notRecording、 recording或 failed。
响应
此方法向为此 200 OK 请求创建的 updateRecordingStatusOperation 对象返回响应代码和具有 URI 的位置标头。
示例
以下示例演示如何调用此 API。
请求
下面为请求示例。
POST https://graph.microsoft.com/beta/communications/calls/{id}/updateRecordingStatus
Content-Type: application/json
Content-Length: 79
{
"clientContext": "clientContext-value",
"status": "notRecording | recording | failed"
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var clientContext = "clientContext-value";
var status = RecordingStatus.NotRecording | RecordingStatus.Recording | RecordingStatus.Failed;
await graphClient.Communications.Calls["{call-id}"]
.UpdateRecordingStatus(status,clientContext)
.Request()
.PostAsync();
const options = {
authProvider,
};
const client = Client.init(options);
const updateRecordingStatusOperation = {
clientContext: 'clientContext-value',
status: 'notRecording | recording | failed'
};
await client.api('/communications/calls/{id}/updateRecordingStatus')
.version('beta')
.post(updateRecordingStatusOperation);
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/beta/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/communications/calls/{id}/updateRecordingStatus"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSMutableDictionary *payloadDictionary = [[NSMutableDictionary alloc] init];
NSString *clientContext = @"clientContext-value";
payloadDictionary[@"clientContext"] = clientContext;
MSGraphRecordingStatus *status = [MSGraphRecordingStatus notRecording];
payloadDictionary[@"status"] = status;
NSData *data = [NSJSONSerialization dataWithJSONObject:payloadDictionary options:kNilOptions error:&error];
[urlRequest setHTTPBody:data];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
String clientContext = "clientContext-value";
RecordingStatus status = RecordingStatus.NOT_RECORDING;
graphClient.communications().calls("{id}")
.updateRecordingStatus(CallUpdateRecordingStatusParameterSet
.newBuilder()
.withStatus(status)
.withClientContext(clientContext)
.build())
.buildRequest()
.post();
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.New()
clientContext := "clientContext-value"
requestBody.SetClientContext(&clientContext)
status := "notRecording | recording | failed"
requestBody.SetStatus(&status)
callId := "call-id"
result, err := graphClient.Communications().CallsById(&callId).UpdateRecordingStatus(call-id).Post(requestBody)
Import-Module Microsoft.Graph.CloudCommunications
$params = @{
ClientContext = "clientContext-value"
Status = "notRecording | recording | failed"
}
Update-MgCommunicationCallRecordingStatus -CallId $callId -BodyParameter $params
响应
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Location: https://graph.microsoft.com/beta/communications/calls/57dab8b1-894c-409a-b240-bd8beae78896/operations/0fe0623f-d628-42ed-b4bd-8ac290072cc5
{
"@odata.type": "#microsoft.graph.updateRecordingStatusOperation",
"clientContext": "clientContext-value",
"id": "0fe0623f-d628-42ed-b4bd-8ac290072cc5",
"resultInfo": null,
"status": "completed"
}