如何使用 c# 连接到 Asana Rest API

本文关键字:Asana Rest API 连接 何使用 | 更新日期: 2023-09-27 18:32:08

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

他们的网站上有一个 Hello World 应用程序,但不幸的是它是用红宝石写的。

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

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

提前感谢!


跟进:

我已经尝试了多种访问/身份验证方式,但不断收到 401 未授权错误。

我的最新代码如下所示:

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();

如何使用 c# 连接到 Asana Rest API

试试这段代码。 我能够使用它获得用户列表:

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# 中)

你可以尝试使用我的库,AsanaNet :)

https://github.com/acron0/AsanaNet

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