2

有没有人有一段代码用于使用 c# 连接到 Asana API?

他们的网站上有一个 Hello World 应用程序,但不幸的是它是用 ruby​​ 编写的。

https://asana.com/developers/documentation/examples-tutorials/hello-world

我将其作为一个快速的副项目来做,只能投入少量时间。任何帮助将不胜感激。

提前致谢!


跟进:

我尝试了多种访问/身份验证的方法,但我不断收到 401 Not Authorized 错误。

我的最新代码如下所示:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://app.asana.com/api/1.0/users/me");
request.Method = "GET";
request.Headers.Add("Authorization: Basic " + "*MyUniqueAPIKey*");

request.ContentType = "application/x-www-form-urlencoded";
request.Accept = "application/json";

WebResponse ws = request.GetResponse();
4

3 回答 3

5

试试这个代码。我能够得到一个用户列表:

const string apiKey = "whateverYourApiKeyIs";

public string GetUsers()
{
    var req = WebRequest.Create("https://app.asana.com/api/1.0/users");
    SetBasicAuthentication(req);
    return new StreamReader(req.GetResponse().GetResponseStream()).ReadToEnd();
}

void SetBasicAuthentication(WebRequest req)
{
    var authInfo = apiKey + ":";
    var encodedAuthInfo = Convert.ToBase64String(
        Encoding.Default.GetBytes(authInfo));
    req.Headers.Add("Authorization", "Basic " + encodedAuthInfo);
}

这只是将数据作为字符串返回。解析 JSON 留给读者作为练习。;)

我从这里借用了SetBasicAuthentication方法:

强制 HttpWebRequest 的基本 http 身份验证(在 .NET/C# 中)

于 2012-04-27T18:13:04.043 回答
3

您可以尝试使用我的图书馆 AsanaNet :)

https://github.com/acron0/AsanaNet

于 2012-05-10T20:40:29.983 回答
0

你需要做 HTTP 请求,有很多这样的教程 http://msdn.microsoft.com/en-us/library/debx8sh9(v=vs.80).aspx

于 2012-04-25T14:33:21.663 回答