2012-03-05 153 views
1

我想在C#中使用name.com API。該API具有不同的操作,包括/ Login,/ account/get,/ create/domain等。您可以找到文檔hereREST API:結合使用C#的登錄信息和API動作?

/Login方法是POST並且主體是JSON,並使用HttpWebRequest完成並且它可以成功運行。它返回類似於:

{ 
     "result": { 
        "code":100, 
        "message":"Command Successful" 
        }, 
     "session_token":"a59a09be6562e977a166fdd2b345a235c8b6c724" 
    } 

但是登錄後,我需要使用其他服務(運行其他API操作)。

這裏我送另一個HttpWebRequest的是:

string base = "https://api.dev.name.com/api/" 
    HttpWebRequest request; 
    request = WebRequest.Create(base + "account/get") as HttpWebRequest; 
    .... 
    .... 

而不是返回的帳戶信息,它將返回一條錯誤:

{ 
     "result": 
     { 
     "code":251, 
     "message":"Authentication Error - No Api Session Or Username Token Supplied" 
     } 
    } 

我認爲我需要一種方法來發送請求以及登錄信息。此處的錯誤消息是「身份驗證錯誤 - 沒有提供Api會話或用戶名令牌」

注意:此API有PHP示例代碼和類。以下是API Documentation的鏈接

回答

3

請參閱documentation的第18頁。你需要將返回的會話令牌的請求頭:

Api-Session-Token: <session_token> 

所以,一旦你得到了響應,並獲得令牌,你只需添加以下行:

httpWebRequest.Headers.Add("Api-Session-Token", <session_token>); 
+0

它的工作原理!謝謝DPeden,我錯過了閱讀這個頁面。 – Maxali 2012-03-06 00:09:17