gpt4 book ai didi

delphi - 使用 Delphi 的 Twilio 或 Plivo SMS

转载 作者:行者123 更新时间:2023-12-02 05:24:29 26 4
gpt4 key购买 nike

我正在尝试弄清楚如何使用 Delphi 10 Seattle 和 Indy 向 Plivo 或 Twilio 发送 POST 请求以发送 SMS 消息。当我使用此代码进行 Twilio 工作时,我收到一条未经授权的消息作为返回(请注意,我已编辑了我的用户名和身份验证代码):

procedure TSendTextForm.TwilioSendSms(FromNumber, ToNumber, Sms: string; Var Response: TStrings);

var
apiurl, apiversion, accountsid, authtoken,
url: string;
aParams, aResponse: TStringStream;
mHTTP : TidHttp;

begin

mHTTP := TIdHTTP.Create(nil);

apiurl := 'api.twilio.com';
apiversion := '2010-04-01';
accountsid := 'AC2f7cda1e6a4e74376***************:2b521b60208af4c*****************';
url := Format('https://%s/%s/Accounts/%s/SMS/Messages/', [apiurl, apiversion, accountsid]);
aParams := TStringStream.Create ;
try
aParams.WriteString('&From=' + FromNumber);
aParams.WriteString('&To=' + ToNumber);
aParams.WriteString('&Body=' + Sms);
aResponse := TStringStream.Create;
try
mHTTP.Post(url, aParams, aResponse);
finally
Response.Text := aResponse.DataString;
end;
finally
aParams.Free;
end;
end;

我有类似的 Plivo 代码。两家公司都没有任何德尔福支持。谁能告诉我上面我缺少什么?非常感谢。

麦克风

最佳答案

这里是 Twilio 传道者。

除了上面 @mjn 提出的基本身份验证建议之外,我相信您的示例中还有另外两个问题会给您带来问题:

首先,在上面的代码示例中,您的 URL 将是错误的,因为 accountsid 变量将您的 sid 和 auth token 连接在一起。

accountsid := 'AC2f7cda1e6a4e74376***************:2b521b60208af4c*****************';

虽然您确实想要这样做以便使用基本身份验证,但您希望将身份验证 token 作为 URL 的一部分。当您创建 url 属性时,您只需将 SID 作为参数放入 URL 中,如下所示:

/Accounts/ACXXXXXXX/

其次,我还建议不要使用 /SMS 资源,因为它已被弃用。而是使用 /Messages这是较新且具有更多功能的:

/Accounts/ACXXXXXXX/Messages

关于delphi - 使用 Delphi 的 Twilio 或 Plivo SMS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34706128/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com