call: subscribeToTone
命名空间:microsoft.graph
重要
Microsoft Graph版本下的 /beta API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
订阅 DTMF (双音多频信号) 。 这允许你在用户按下"Dialpad"上的键时收到通知。
Permissions
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限。
| 权限类型 |
权限(从最低特权到最高特权) |
| 委派(工作或学校帐户) |
不支持 |
| 委派(个人 Microsoft 帐户) |
不支持 |
| Application |
Calls.AccessMedia.All |
注意: 提供的任何音调数据可能无法保留。 确保你遵守有关通信数据保护和机密性的法律和法规。 有关详细信息,请参阅使用条款并咨询法律顾问。
HTTP 请求
POST /app/calls/{id}/subscribeToTone
POST /communications/calls/{id}/subscribeToTone
注意:/app 路径已弃用。 今后将使用 /communications 路径。
| 名称 |
说明 |
| Authorization |
Bearer {token}。必需。 |
请求正文
在请求正文中,提供具有以下参数的 JSON 对象。
| 参数 |
类型 |
Description |
| clientContext |
String |
唯一的客户端上下文字符串。 最多可包含 256 个字符。 |
响应
如果成功,此方法返回 200 OK 响应代码。
示例
以下示例演示如何调用此 API。
请求
下面为请求示例。
POST https://graph.microsoft.com/beta/communications/calls/{id}/subscribeToTone
Content-Type: application/json
Content-Length: 46
{
"clientContext": "fd1c7836-4d84-4e24-b6aa-23188688cc54"
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var clientContext = "fd1c7836-4d84-4e24-b6aa-23188688cc54";
await graphClient.Communications.Calls["{call-id}"]
.SubscribeToTone(clientContext)
.Request()
.PostAsync();
const options = {
authProvider,
};
const client = Client.init(options);
const subscribeToToneOperation = {
clientContext: 'fd1c7836-4d84-4e24-b6aa-23188688cc54'
};
await client.api('/communications/calls/{id}/subscribeToTone')
.version('beta')
.post(subscribeToToneOperation);
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/beta/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/communications/calls/{id}/subscribeToTone"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSMutableDictionary *payloadDictionary = [[NSMutableDictionary alloc] init];
NSString *clientContext = @"fd1c7836-4d84-4e24-b6aa-23188688cc54";
payloadDictionary[@"clientContext"] = clientContext;
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 = "fd1c7836-4d84-4e24-b6aa-23188688cc54";
graphClient.communications().calls("{id}")
.subscribeToTone(CallSubscribeToToneParameterSet
.newBuilder()
.withClientContext(clientContext)
.build())
.buildRequest()
.post();
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewClientContextRequestBody()
clientContext := "fd1c7836-4d84-4e24-b6aa-23188688cc54"
requestBody.SetClientContext(&clientContext)
callId := "call-id"
result, err := graphClient.Communications().CallsById(&callId).SubscribeToTone(call-id).Post(requestBody)
Import-Module Microsoft.Graph.CloudCommunications
$params = @{
ClientContext = "fd1c7836-4d84-4e24-b6aa-23188688cc54"
}
Invoke-MgSubscribeCommunicationCallToTone -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.subscribeToToneOperation",
"clientContext": "clientContext-value",
"id": "0fe0623f-d628-42ed-b4bd-8ac290072cc5",
"resultInfo": null,
"status": "completed"
}
Notification - 音调通知
通知包含 toneinfo 资源中按下的音调的信息。
POST https://bot.contoso.com/api/calls
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.commsNotifications",
"value": [
{
"@odata.type": "#microsoft.graph.commsNotification",
"changeType": "updated",
"resourceUrl": "/communications/calls/57dab8b1-894c-409a-b240-bd8beae78896",
"resourceData": {
"@odata.type": "#microsoft.graph.call",
"state": "established",
"toneInfo": {
"@odata.type": "#microsoft.graph.toneInfo",
"sequenceId": 1,
"tone": "tone1"
}
}
}
]
}