プラットフォーム テクノロジ - .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 サービス アドレス

QQ截图20170213154955.png

メッセージ サービス アドレス

QQ截图20170213155016.png

高度な機能

解釈されませんオブジェクトとしての応答文字列 (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## はまだありません。
#