gpt4 book ai didi

java - 如何在 java 中使用新的 freebase api(api 搜索)?

转载 作者:行者123 更新时间:2023-11-29 06:41:46 26 4
gpt4 key购买 nike

我无法理解这个 API。我已经下载 (maven) google-api-services-freebase 并测试我尝试执行此代码:

 JsonHttpRequestInitializer initializer = 
new GoogleKeyInitializer("MY KEY");
HttpTransport httpTransport = new NetHttpTransport();
JsonFactory jsonFactory = new JacksonFactory();

Freebase freebase =
Freebase.builder(httpTransport,
jsonFactory).setJsonHttpRequestInitializer(initializer).build();

现在我想这样做:

https://www.googleapis.com/freebase/v1/search?query=cardiff&lang=en&type=university

接下来,我要解析 json 输出。

请问,这个在freebase对象中的方法在哪里?我看到了 freebase.mqlreadfreebase.text 但我找不到任何类似于 API SEARCH (http://wiki.freebase.com/wiki/ApiSearch) 的方法。

最佳答案

遗憾的是,Java API 客户端尚不支持 Freebase Search。以下是使用 Apache HttpClient 进行搜索的方法相反。

HttpClient httpclient = new DefaultHttpClient();
JSONParser parser = new JSONParser();

List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("query", "Blue Bottle"));
params.add(new BasicNameValuePair("key", API_KEY));

String serviceURL = "https://www.googleapis.com/freebase/v1/search";
String url = serviceURL + "?" + URLEncodedUtils.format(params, "UTF-8");
HttpResponse httpResponse = httpclient.execute(new HttpGet(url));
JSONObject response = (JSONObject)parser.parse(EntityUtils.toString(httpResponse.getEntity()));
JSONArray results = (JSONArray)response.get("result");

for (Object result : results) {
System.out.println(JsonPath.read(result,"$.name").toString());
}

此代码还使用了 json-simplejson-path图书馆。

关于java - 如何在 java 中使用新的 freebase api(api 搜索)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10895669/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com