0

如何在不使用 sodaclient 的情况下与 MVC 应用程序中的 OpenData API 端点(私有数据集)通信?我有一个 apptoken 和凭据。

4

1 回答 1

1

澄清一下,这是一个私有数据集,对吗?

您需要从您的 ASP.NET 代码进行 RESTful HTTP 调用,并将您的应用程序令牌作为X-App-Token标头包含在内,并使用您的用户凭据提供 HTTP 基本身份验证。

这里有一些有用的文档:

SoQL 非常简单,因此您只需为您的数据集构建正确的 SoQL 查询并将其传递到您的GetAsync调用中。我不是 ASP.NET 程序员,但我认为它看起来像这样。

using (var client = new HttpClient())
{
    client.BaseAddress = new Uri("https://data.government.gov/");
    client.DefaultRequestHeaders.Accept.Clear();
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
    // Also add X-App-Token and authentication headers here

    // New code:
    HttpResponseMessage response = await client.GetAsync("resource/644b-gaut.json?$where=date > '2014-12-01'");
    if (response.IsSuccessStatusCode)
    {
        // Do stuff
    }
}

添加身份验证和 X-App-Token 标头作为练习留给读者。

于 2015-05-29T17:39:00.747 回答