如何在 mvc 应用程序中不使用 sodaclient 与 OpenData API 端点通信

How to talk to OpenData API Endpoint without using sodaclient in mvc application

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

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

您需要从 ASP.NET 代码进行 RESTful HTTP 调用,并将您的应用程序令牌作为 X-App-Token header 并提供 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 header 留作 reader 的练习。