如何从我的 Azure 功能向我的 IMI Mobile 提供商发送多部分消息?
How can I send a multi-part message to my IMI Mobile provider from my Azure function?
这就是我们的代码的样子。它 returns 错误代码 7209 'Unable to send multi-part message.' 我想知道是否还有其他方法可以进行此调用,或者这个问题是否出在 IMI Mobile(我们的 SMS 提供商)部分。
public async Task<HttpResponseMessage> Send(IList<Message> messages, CancellationToken cancellationToken = default)
{
var serialized = JsonSerializer.Serialize(messages, new JsonSerializerOptions
{
PropertyNamingPolicy = new LowerCaseNamingPolicy()
});
var buffer = Encoding.UTF8.GetBytes(serialized);
var byteContent = new ByteArrayContent(buffer);
byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
const string url = "resources/v1/messaging";
var request = new HttpRequestMessage(HttpMethod.Post, url) {Content = byteContent};
return await _client.SendAsync(request, cancellationToken);
}
您可能需要使用 FormUrlEncodedContent
、MultipartContent
或 MultipartFormDataContent
的实例,而不是 ByteArrayContent
。检查 IMI 提供商 API 文档(以及这些类型的文档)以确定哪一个是合适的。
这就是我们的代码的样子。它 returns 错误代码 7209 'Unable to send multi-part message.' 我想知道是否还有其他方法可以进行此调用,或者这个问题是否出在 IMI Mobile(我们的 SMS 提供商)部分。
public async Task<HttpResponseMessage> Send(IList<Message> messages, CancellationToken cancellationToken = default)
{
var serialized = JsonSerializer.Serialize(messages, new JsonSerializerOptions
{
PropertyNamingPolicy = new LowerCaseNamingPolicy()
});
var buffer = Encoding.UTF8.GetBytes(serialized);
var byteContent = new ByteArrayContent(buffer);
byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
const string url = "resources/v1/messaging";
var request = new HttpRequestMessage(HttpMethod.Post, url) {Content = byteContent};
return await _client.SendAsync(request, cancellationToken);
}
您可能需要使用 FormUrlEncodedContent
、MultipartContent
或 MultipartFormDataContent
的实例,而不是 ByteArrayContent
。检查 IMI 提供商 API 文档(以及这些类型的文档)以确定哪一个是合适的。