2012-03-05 103 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