0

网关网站“提供”的代码可在http://www.freesmsgateway.com/api获得。 我尽力实现这一点,但不知道。谷歌广泛搜索无济于事。这在程序中实现起来非常酷,所以我希望详细的答案能够帮助很多人。它似乎发布了,所以也许我把参数解释错了?任何帮助或输入都是有价值的。请原谅任何格式错误?第一次在网站上发布海报。顺便说一句,使用德尔福 XE4。消息输出位于showmessage 返回文本下方的链接中。

这是德尔福代码:

function tform1.PostExample: string;
     var    param:TStringList;
            valid:boolean;
            url,text:string;
            http:TIDHttp;
      begin
         http := TIDHttp.Create(nil);
         http.HandleRedirects := true;
         http.ReadTimeout := 5000;
         param:=TStringList.create;
         param.Clear;
         param.Add('access_token=994ad8885430************91b6eb8f');
         param.Add('message=Test');
         param.Add('send_to=0729122723');
         valid:=true;
         url:='http://www.FreeSMSGateway.com/api_send';
          try
            text:=http.Post(url,param);
          except
           on E:Exception do
            begin
             valid:=false;
            end;
          end;
         if valid then
          showmessage( text )
          else
          showmessage( '' );
         end;
         end.
4

1 回答 1

0

再次仔细阅读文档:

使用以下 POST 变量向http://www.FreeSMSGateway.com/api_send发送 POST 调用:

  • access_token:您的帐户仪表板中的 API 访问令牌
  • message:url编码的消息,160个字符以内
  • send_to:此值需要为“existing_contacts”以发送给您帐户中的所有现有联系人或“post_contacts”以提供自定义联系人列表
  • post_contacts:一个 JSON 联系人数组,用于向其发送消息,而不是您现有的联系人。仅需要将“send_to”设置为“post_contacts”

您的send_to参数值不符合规定的要求。您在字段中传递了特定的联系人号码send_to,但必须在post_contacts字段中传递该联系人,例如:

param.Add('access_token=994ad8885430************91b6eb8f');
param.Add('message=Test');
//param.Add('send_to=0729122723');
param.Add('send_to=post_contacts');
param.Add('post_contacts=["0729122723"]'); // you may need to double-check this syntax
于 2013-07-29T23:16:40.307 回答