2017-04-11 1 views
0

foxproアプリケーションでNexmo-SMSを送信できません。アプリケーションは、それが動作を停止した後、2017年1月まで働いていました。以下は私のアプリケーションです。エラーメッセージ404が表示されます。訂正が必要な場合は、プログラムが必要です。Nexmo SMS with visual foxpro


mob = '39829374' 

mmessage = 'Hi' 

username='username' 

pwd='password' 

mmob1 =ALLTRIM(mmob) 

MMOB = '00973'+ALLTRIM(mmob) 


From='AMA Motors' 

to = '&mmob' 

lcMessage=mmessage 

lcNexmo = Textmerge("http://rest.nexmo.com/sms/xml?username=<<m.username>>|password=<<m.pwd>>|from=<<m.from>>|to=<<m.to>>|text=<<m.lcMessage>>") 

lcNexmo = Chrtran(m.lcNexmo, '|', Chr(38)) 

* Message parameters ready 


Local loXmlHttp As "Microsoft.XMLHTTP" 

loXmlHttp = Newobject("Microsoft.XMLHTTP") 


loXmlHttp.Open("POST" , m.lcNexmo, .F.) 

loXmlHttp.Send() 


If loXmlHttp.Status = 200 

    lcXML = 
StrExtract(loXmlHttp.responsetext,'<messages','</messages>',1,1+4) 

    XMLToCursor(m.lcXML,'myresult') 

* browse 

Else 

    MessageBox(Textmerge("An error occurred in SMS. Status <<loXmlHttp.STATUS>> (<<loXmlHttp.statustext>>).")) 

Endif 

答えて

1

私はあなたのコードが働いたことはないと思うだろう。おそらく、ここでは全く動作しないバージョンを置いています。とにかく、問題はあなたがhttpsを使用していないことだと思います。私はあなたのコードビットを編集し、(自分のトークンを無駄にして申し訳ありません)3つのメッセージを送っ:

NexmoKey = '1b37ecc8' 
NexmoSecret = 'df183c07' 
NexmoNumber = 'AMA Motors' 

mob = '39829374' 
mmessage = 'Hi' 
MMOB = '00973'+ALLTRIM(m.mob) 


to = m.mmob 
lcMessage = m.mmessage 

nexmoURL = Textmerge(; 
    "https://rest.nexmo.com/sms/xml?"+; 
    "username=<<m.NexmoKey>>|"+; 
    "password=<<m.NexmoSecret>>|"+; 
    "from=<<m.NexmoNumber>>") 

TrySendTTS(m.to,m.lcMessage, m.NexmoUrl) 

Procedure TrySendTTS(tcPhone,tcMessage, tcNexmoUrl) 
    tcMessage = Strtran(m.tcMessage, '%0A', '%0D%0A') 
    lcUrl = Chrtran(; 
     Textmerge("<<m.tcNexmoUrl>>|to=<<m.tcPhone>>|text=<<m.tcMessage>>"), '|', Chr(38)) 

    Local loXmlHttp As "Microsoft.XMLHTTP" 
    loXmlHttp = Newobject("Microsoft.XMLHTTP") 

    loXmlHttp.Open("POST" , m.lcUrl, .F.) 
* loXmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded") 
    loXmlHttp.Send() 

    ? loXmlHttp.Status = 200 
    ? loXmlHttp.responsetext 

Endproc 

をそして、これは、最新の送信するために私が得た応答である:

<?xml version='1.0' encoding='UTF-8' ?> 
<mt-submission-response> 
    <messages count='1'> 
     <message> 
      <to>97339829374</to> 
      <messageId>0B00000044C5B1ED</messageId> 
      <status>0</status> 
      <remainingBalance>6.23650000</remainingBalance> 
      <messagePrice>0.01740000</messagePrice> 
      <network>42601</network> 
     </message> 
    </messages> 
</mt-submission-response> 
関連する問題