Twilio SMS 消息在控制台应用程序中不起作用
本文关键字:应用程序 不起作用 控制台 SMS 消息 Twilio | 更新日期: 2023-09-27 17:57:02
我为我的Twilio帐户注资,正在控制台应用程序中工作。何时转到文档(此处:https://www.twilio.com/user/account/developer-tools/api-explorer/message-create)并输入请求有效的我的电话号码。但是,当我将代码复制到本地控制台应用程序时,没有任何反应。我从字面上复制了一行一行的代码,并确保 SID、令牌和数字正确无误,并且根本没有发生任何事情,控制台应用程序只是运行到执行结束。
string AccountSid = "MySID";
string AuthToken = "MyAuthToken";
var twilio = new TwilioRestClient(AccountSid, AuthToken);
var message = twilio.SendSmsMessage("+12222222222", "+13333333333","Hello World");
Console.WriteLine(message.Sid);
我运行Fiddler,我得到了原始数据包。Fiddler还说结果是401状态代码。
POST https://api.twilio.com/2010-04-01/Accounts/MySID/SMS/Messages.json HTTP/1.1授权:基本{吨随机字符那看起来像是胡尔德隐藏}接受: application/json, application/xml, text/json, text/x-json, text/javascript, text/xml接受字符集:utf-8用户代理:twilio-csharp/3.4.1.0 (.NET 4.0.30319.17929)内容类型:application/x-www-form-urlencode主持人:api.twilio.com内容长度:56接受编码:gzip,放气连接:保持活动状态
from=%2B14697891380&to=%2B12146630105&body=New%20Message
关于可能发生的事情的任何想法?我知道其他人有这个问题,我看到它在其他地方发布,但我还没有看到回应。
这里还有一个指向有此问题的人的链接。我会发表评论,但我没有输入评论的声誉,因此为什么我做了另一个线程(为什么 Twilio 不发送短信?
我无法让 Twilio 工作,这不是技术问题的答案(我认为由于某种原因 Twilio 只是没有授权我的帐户),但对于那些原型设计并需要尽快的东西,我最终使用了 Plive,并在一小时内打了个电话和短信。这是我的示例代码,它实际上比Twilio便宜。我真的很喜欢 Twilio,并且过去用过它,但从来没有用过 C#。所以也许我仍然可以尽快解决问题。
using System;
using System.Collections.Generic;
using System.Reflection;
using RestSharp;
using Plivo.API;
namespace Plivo2
{
class Program
{
static void Main(string[] args)
{
string auth_id = "MyAuthID"; // obtained from Plivo account dashboard
string auth_token = "MyAuthTokey"; // obtained from Plivo account dashboard
// Making a Call
string from_number = "MyPliveNumber";
string to_number = "TheNumberYouWantToContact";
SendMessage(auth_id, auth_token, from_number, to_number,"Hello World!");
}
private static void CallPhone(string auth_id,string auth_token, string fromNumber, string toNumber){
// Creating the Plivo Client
RestAPI plivo = new RestAPI(auth_id, auth_token);
IRestResponse<Call> response = plivo.make_call(new Dictionary<string, string>() {
{ "from", fromNumber },
{ "to", toNumber },
{ "answerswer_url", "http://some.domain.com/answer/" },
{ "answerswer_method", "GET" }
});
// The "Outbound call" API response has four properties -
// message, request_uuid, error, and api_id.
// error - contains the error response sent back from the server.
if (response.Data != null)
{
PropertyInfo[] proplist = response.Data.GetType().GetProperties();
foreach (PropertyInfo property in proplist)
Console.WriteLine("{0}: {1}", property.Name, property.GetValue(response.Data, null));
}
else
Console.WriteLine(response.ErrorMessage);
}
private static void SendMessage(string auth_id,string auth_token, string fromNumber, string toNumber, string message) {
RestAPI plivo = new RestAPI(auth_id, auth_token);
IRestResponse<MessageResponse> resp = plivo.send_message(new Dictionary<string, string>()
{
{ "src", fromNumber },
{ "dst", toNumber },
{ "text", message },
{ "url", "http://some.domain/receivestatus/" },
{ "method", "GET" }
});
if (resp.Data != null)
{
PropertyInfo[] proplist = resp.Data.GetType().GetProperties();
foreach (PropertyInfo property in proplist)
Console.WriteLine("{0}: {1}", property.Name, property.GetValue(resp.Data, null));
}
else
Console.WriteLine(resp.ErrorMessage);
}
}
}
这里的Twilio布道者。
您发布的代码对我来说看起来是正确的,但根据 Fiddler 输出,听起来您收到身份验证错误,因此我会仔细检查您是否已正确复制并粘贴了 Twilio 帐户仪表板中的帐户 sid 和身份验证令牌。
希望有帮助。