java 未定义方法的 Socrata SODA 示例

Socrata SODA example with java undefined method

我正在尝试执行在 socrata-soda Api 上找到的示例,即

import com.socrata.api.HttpLowLevel;
import com.socrata.api.Soda2Consumer;
import com.socrata.model.soql.SoqlQuery;
import com.sun.jersey.api.client.ClientResponse;
.....
Soda2Consumer consumer = Soda2Consumer.newConsumer("https://sandbox.demo.socrata.com",
                "testuser@gmail.com",
                "OpenData",
                "D8Atrg62F2j017ZTdkMpuZ9vY");

ClientResponse response = consumer.getHttpLowLevel().query("nominationsCopy",
                HttpLowLevel.JSON_TYPE,
                SoqlQuery.SELECT_ALL);

然而,这给了我这个错误

The method query(String, MediaType, SoqlQuery) is undefined for the type  HttpLowLevel

我查看了 java 文档,但找不到任何帮助。 HttpLowLevel class

上什至没有 query 方法

您应该在 Soda2Consumer class 上使用 query 方法。您也不需要进行身份验证,除非您正在访问私有数据集或更新数据集。以下是该示例应反映的内容:

    Soda2Consumer consumer = Soda2Consumer.newConsumer("https://sandbox.demo.socrata.com");

    ClientResponse response = consumer.query("nominationsCopy",
            HttpLowLevel.JSON_TYPE,
            SoqlQuery.SELECT_ALL);
    String payload = response.getEntity(String.class);
    System.out.println(payload);

我也会更新 GitHub 中的示例。