【发布时间】:2019-07-25 08:45:33
【问题描述】:
我目前正在尝试将消息从 Bot Framework Emulator 发送到 Azure 中的测试网络聊天。我的问题是尝试这个时:
var my2Response = await myClient.SendAsync(request).ConfigureAwait(false);
我收到StatusCode: 403, ReasonPhrase: 'Forbidden',,但我不知道我应该在这里做什么。我注意到 request.Content 也有 Headers 并尝试了这个疯狂的东西:request.Content.Headers.Add("Authorization", "Bearer " + myToken);
但正如您可能猜到的那样,这不是解决方案。如何通过 Botframework 向我的 Azure 测试网络聊天发送帖子? (如果可行,我想尝试通过 MS Teams 向 Test Webchat 发送消息)
相关代码如下:
HttpClient myClient = new HttpClient();
myClient.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
var myToken = token;
myClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", myToken);
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new System.Uri("https://webchat.botframework.com/v3/conversations/conversationID/activities"),
Content = new StringContent("{\"type\": \"message\", \"text\": \"I come from teams\", \"from\": {\"id\": \"bot@somthing\", \"name\": \"teams\"}}", System.Text.Encoding.UTF8),
};
request.Content.Headers.ContentType.MediaType = "application/json";
request.Headers.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
request.Headers.Add("Authorization", "Bearer " + myToken);
var my2Response = await myClient.SendAsync(request).ConfigureAwait(false);
my2Response.EnsureSuccessStatusCode();
var myResponseBody = await my2Response.Content.ReadAsStringAsync().ConfigureAwait(false);
编辑
我使用的令牌是从这里生成的:https://login.microsoftonline.com/botframework.com/oauth2/v2.0/token
【问题讨论】:
标签: c# azure post botframework bots