プラットフォーム テクノロジ - .NET SDK の使用説明書
環境の依存関係
- .NET Framework 2.0 以降 (Windows Phone プラットフォームはサポートされていません)
使用例
淘宝網を入手する現在のシステム時間
ITopClient client = new DefaultTopClient("http://gw.api.taobao.com/router/rest", "appkey", "appsecret", "json"); TimeGetRequest req = new TimeGetRequest(); TimeGetResponse rsp = client.Execute(req); Console.WriteLine(rsp.Body);
単一トランザクションの詳細を取得
ITopClient client = new DefaultTopClient("http://gw.api.taobao.com/router/rest", "appkey", "appsecret", "json"); TradeFullinfoGetRequest req = new TradeFullinfoGetRequest(); req.Fields = "tid,type,status,payment,orders"; req.Tid = 123456789L; TradeFullinfoGetResponse rsp = client.Execute(req, sessionKey); Console.WriteLine(rsp.Body);
リアルタイムのメッセージ通知を聞く
TmcClient client = new TmcClient("app_key", "app_secret", "default"); client.OnMessage += (s, e) => { try { Console.WriteLine(e.Message.Content); Console.WriteLine(e.Message.Topic); // 默认不抛出异常则认为消息处理成功 } catch (Exception exp) { Console.WriteLine(exp.StackTrace); e.Fail(); // 消息处理失败回滚,服务端需要重发 } }; client.Connect("ws://mc.api.taobao.com/");
バッチ呼び出しAPI
BatchTopClient client = new BatchTopClient("http://gw.api.taobao.com/router/batch", "appkey", "appsecret", "json"); TimeGetRequest timeRequest = new TimeGetRequest(); AppipGetRequest ipRequest = new AppipGetRequest(); TopBatchRequest batch = new TopBatchRequest(); batch.AddRequest(timeRequest).AddRequest(ipRequest); TopBatchResponse rsp = client.Execute(batch); Console.WriteLine(rsp.Body);
サービスアドレス
API サービス アドレス
メッセージ サービス アドレス
高度な機能
解釈されませんオブジェクトとしての応答文字列 (XxxResponse に含まれるオブジェクトはこの時点では null です)
DefaultTopClient.SetDisableParser(true)
単純化された JSON 構造を使用して返し、冗長な JSON ノードを削除します
DefaultTopClient.SetUseSimplifyJson(true)
API 呼び出しログをキャンセルします管理
DefaultTopClient.SetDisableTrace(true)
HTTPS 証明書チェックを無視します (テスト環境でのみ開くことをお勧めします)
DefaultTopClient.SetIgnoreSSLCheck(true)
GZIP 圧縮機能への応答をキャンセルします(GZIP 圧縮機能により、ネットワーク送信が大幅に削減される可能性があります)。キャンセルしないことを強くお勧めします)
DefaultTopClient.SetUseGzipEncoding(false)
HTTP 接続タイムアウトと読み取りタイムアウトを設定します (ネットワーク環境が悪い場合は適切に増やすことができます)
// HTTP等待请求开始返回的超时时间:默认20秒 DefaultTopClient.SetTimeout(20000L) // HTTP等待读取数据完成的超时时间:默认60秒 DefaultTopClient.SetReadWriteTimeout(60000L)
ログ管理ストレージを変更しますpath
DefaultTopLogger.FilePath = "c:/tmp/topsdk.log";
API 呼び出し エラーが発生したときに自動的に再試行します (通常、ISP エラーは正常に再試行できます)
AutoRetryTopClient client = new AutoRetryTopClient("http://gw.api.taobao.com/router/rest", "appkey", "appsecret", "json"); client.SetMaxRetryCount(3); client.SetRetryWaitTime(100L); TimeGetRequest request = new TimeGetRequest(); TimeGetResponse response = client.Execute(request); if (!response.IsError) { Console.WriteLine(response.Body); }
API 呼び出しの最も近いルーティング (呼び出し先の最も近い TOP コンピューター ルームを選択します) API 呼び出しが開始される場所)
ClusterTopClient client = new ClusterTopClient("http://gw.api.taobao.com/router/rest", "appkey", "appsecret", "json"); TimeGetRequest request = new TimeGetRequest(); TimeGetResponse response = client.Execute(request); Console.WriteLine(response.Body);
Notes
- ITopClient 実装クラスはすべてスレッドセーフであるため、API ごとに新しい ITopClient 実装クラスを作成する必要はありませんrequest
- ITopClient実装クラスのインスタンスを作成format=jsonを指定すると、xml形式と比較してデータ送信量が削減され、APIリクエストの効率が向上します
FAQ
- このドキュメントに関する FAQ## はまだありません。