2016-07-16 15 views
1

サードパーティのAPIを使用してメッセージの送信機能を実装しようとしています。 API-https://api.txtlocal.com/send/textlocal APIを使用してSMSを送信する方法..?

しかし、実装をテストする際に、エラーコード3と「無効なユーザーの詳細」というメッセージが表示される問題が発生しています。 C#のコード以下

検索:

string UserId = "1234"; 
    String message = HttpUtility.UrlEncode("OTP"); 
    using (var wb = new WebClient()) 
    { 
     byte[] response = wb.UploadValues("https://api.txtlocal.com/send/", new NameValueCollection() 
      { 
      {"username" , "<TextLocal UserName>"}, 
      {"hash" , "<API has key>"}, 
      {"sender" , "<Unique sender ID>"}, 
      {"numbers" , "<receiver number>"}, 
      {"message" , "Text message"}     
      }); 
     string result = System.Text.Encoding.UTF8.GetString(response); 
     //return result; 

エラーの詳細:

{ 
    "errors": [{ 
     "code": 3, 
     "message": "Invalid login details" 
    }], 
    "status": "failure" 
} 

私が渡していたとしても有効な資格情報。

ご不明な点がございましたら、お気軽にお知らせください。

ご協力いただきありがとうございます。

+0

私は機密情報を送信するために第三者apiを使用しません。むしろ自分のメールサーバーを使って電子メールとしてメッセージを送信しますか? – jdweng

+0

@jdweng OPは機密情報であることをどのように知っていますか? – derpirscher

+0

@jdweng私はあなたのフィードバックに同意しますが、それは正常にシステムに登録された後にSMSを送信するためにこのサードパーティを使用するクライアント自体からの要件です。 –

答えて

0

あなたはヘッダにPOSTリクエストまたはGET要求のためのURLのいずれかであなたのパラメータ値を渡す必要がありAPI状態のドキュメント。 WebClient.UploadValueはデフォルトでPOSTを行いますが、それに応じてヘッダーを設定しません。したがって、信任状は見つかりません。

WebClient.UploadValues(name, method, values)オーバーロードを使用し、メソッドとしてGETを指定できます。

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

私は、APIキーまたはユーザー名とパスワードを送信する必要があります。

リクエストからユーザー名を削除し、APIキー、送信者、番号、メッセージのままにしてください。すべてはOKをしなければならない。

関連する問題