REST API:使用 C# 结合登录信息和 API 操作?

Posted

技术标签:

【中文标题】REST API:使用 C# 结合登录信息和 API 操作?【英文标题】:REST API: Combine login information and API action using C#? 【发布时间】:2012-03-23 11:09:12 【问题描述】:

我正在尝试在 C# 中使用 name.com API。 API 有不同的操作,包括 /Login、/account/get、/create/domain 等等。你可以找到文档here

/Login 方法是 POST,body 是 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"
      
    

我认为我需要一种方法来发送请求以及登录信息。这里的错误消息是“Authentication Error - No Api Session or Username Token Supplied”

注意:此 API 有 PHP 示例代码和类。这是API Documentation的链接

【问题讨论】:

【参考方案1】:

参见documentation 的第 18 页。您需要将返回的会话令牌作为请求标头传递:

Api-Session-Token: <session_token>

因此,一旦您获得响应并获得令牌,您只需添加以下行:

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

【讨论】:

以上是关于REST API:使用 C# 结合登录信息和 API 操作?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用邮递员测试 Django REST 框架登录保护 API?

春天。 REST API 的实现 Oauth.2.0

有没有可能使用rest api在twitter中获取到给定日期的登录详细信息?

使用 cURL 和 JavaScript + Rest API 登录 Paypal

微服务是不是可以结合 REST 和消息传递?

使用 Rest-API 查询 Azure SQL 数据库