2

我正在尝试使用他们的 api 连接到 rackspace 并传递我的用户名和 api 密钥,但我收到此错误:

The remote server returned an error: (401) Unauthorized.

这是我的代码:

        UserCredentials userCreds = new UserCredentials("myusername", "myapikey");
        Connection connection = new Connection(userCreds);

我已按照本教程进行操作:

http://www.rackspace.com/knowledge_center/index.php/Sample_CSharp_Application

已经询问了他们的支持,他们说我们可以使用 curl 连接相同的密钥......他们无法提供太多帮助。

有人知道吗?

谢谢

4

2 回答 2

4

对于在这里遇到同样问题的其他人,我找到了解决方案,您基本上需要包含 api uri:

http://blog.chmouel.com/2011/01/04/how-to-use-the-rackspace-cloud-uk-api/

于 2012-02-17T12:22:31.067 回答
3

您的示例有效,但我正在寻找一种直接的方式,没有包装器。这似乎也有效,并使用对 Rackspace API 的直接宁静访问。

希望能帮助到你。干杯。

        string url = "https://auth.api.rackspacecloud.com/v1.0";
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
        request.Headers.Add("X-Auth-User:" + userName);
        request.Headers.Add("X-Auth-Key:" + apiKey);
        request.Method = "GET";

        using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
        {
            string[] keys = response.Headers.AllKeys;

            foreach (var k in keys)
                Console.WriteLine(response.Headers[k]);
        }
于 2012-04-09T00:19:48.097 回答