C# 如何使用Textlocal API发送短信?

C# 如何使用Textlocal API发送短信?,c#,sendmessage,C#,Sendmessage,我正在尝试使用第三方api实现发送消息功能。原料药- 但是当我们测试实现时,我们面临一个错误代码为3的问题,并给出一条消息“无效的用户详细信息” C#代码: 即使我正在传递有效的凭据 请帮助我,让我知道,如果你需要任何更多的细节 提前感谢并感谢您的帮助 API的文档说明,您应该在POST请求的头中或GET请求的url中传递参数值WebClient.UploadValue根据默认值进行POST,但您没有相应地设置标题。因此找不到凭据 您可以尝试使用WebClient.UploadValues(名称

我正在尝试使用第三方api实现发送消息功能。原料药-

但是当我们测试实现时,我们面临一个错误代码为3的问题,并给出一条消息“无效的用户详细信息”

C#代码:

即使我正在传递有效的凭据

请帮助我,让我知道,如果你需要任何更多的细节


提前感谢并感谢您的帮助

API的文档说明,您应该在POST请求的头中或GET请求的url中传递参数值
WebClient.UploadValue根据默认值进行POST,但您没有相应地设置标题。因此找不到凭据

您可以尝试使用
WebClient.UploadValues(名称、方法、值)
重载并指定GET-as方法

NameValueCollection values = ...;
byte[] response = wb.UploadValues("https://api.txtlocal.com/send/", "GET", values);

我认为您应该发送API密钥或用户名和密码


从请求中删除用户名,只留下API密钥、发件人、号码和消息。那么一切都会好起来的。

下面是对我有用的

    [HttpGet]
    public async Task<JObject> SendOtp(string number)
    {
        using (var client = _httpClientFactory.CreateClient())
        {
            client.BaseAddress = new Uri("https://api.textlocal.in/");
            client.DefaultRequestHeaders.Add("accept","application/json");
            var query = HttpUtility.ParseQueryString(string.Empty);
            query["apikey"] = ".....";
            query["numbers"] = ".....;
            query["message"] = ".....";
            var response = await client.GetAsync("send?"+query);
            response.EnsureSuccessStatusCode();
            var content = await response.Content.ReadAsStringAsync();
            return JObject.Parse(content);
        }
    }
[HttpGet]
公共异步任务SendOtp(字符串编号)
{
使用(var client=\u httpClientFactory.CreateClient())
{
client.BaseAddress=新Uri(“https://api.textlocal.in/");
client.DefaultRequestHeaders.Add(“accept”、“application/json”);
var query=HttpUtility.ParseQueryString(string.Empty);
查询[“apikey”]=“…”;
查询[“数字”]=“。。。。。;
查询[“消息”]=“…”;
var response=wait client.GetAsync(“发送?”+query);
response.EnsureSuccessStatusCode();
var content=await response.content.ReadAsStringAsync();
返回JObject.Parse(内容);
}
}

有点晚了……试着用{apikey',替换{hash','}

我绝不会使用第三方api发送机密信息。我更愿意使用我自己的电子邮件服务器以电子邮件的形式发送消息。@jdweng你怎么知道这是机密信息,OP想发送?@jdweng我同意你的反馈,但客户本身要求在成功注册到后使用此第三方发送短信系统。你有什么解决办法吗?
NameValueCollection values = ...;
byte[] response = wb.UploadValues("https://api.txtlocal.com/send/", "GET", values);
    [HttpGet]
    public async Task<JObject> SendOtp(string number)
    {
        using (var client = _httpClientFactory.CreateClient())
        {
            client.BaseAddress = new Uri("https://api.textlocal.in/");
            client.DefaultRequestHeaders.Add("accept","application/json");
            var query = HttpUtility.ParseQueryString(string.Empty);
            query["apikey"] = ".....";
            query["numbers"] = ".....;
            query["message"] = ".....";
            var response = await client.GetAsync("send?"+query);
            response.EnsureSuccessStatusCode();
            var content = await response.Content.ReadAsStringAsync();
            return JObject.Parse(content);
        }
    }