2014-11-05 4 views
1

я начинаю работать с Freebase API, так что я только скопировать следующий код из этого page, но я получил следующее сообщение об ошибке:Не regonize метода createRequestFactory() для типа HttpTransport

The method createRequestFactory() is undefined for the type HttpTransport

от этой линии образца код:
(HttpRequestFactory requestFactory = httpTransport.createRequestFactory()).

Я пытаюсь найти проблему, но не смог.

import com.google.api.client.http.HttpRequest; 
import com.google.api.client.http.HttpRequestFactory; 
import com.google.api.client.http.HttpResponse; 
import com.google.api.client.http.HttpTransport; 
import com.google.api.client.http.javanet.NetHttpTransport; 
import com.jayway.jsonpath.JsonPath; 
import java.io.FileInputStream; 
import java.util.Properties; 
import org.json.simple.JSONObject; 
import org.json.simple.parser.JSONParser; 

public class TopicSample { 
public static Properties properties = new Properties(); 
public static void main(String[] args) { 
    try { 
    properties.load(new FileInputStream("freebase.properties")); 
    HttpTransport httpTransport = new NetHttpTransport(); 
    HttpRequestFactory requestFactory = httpTransport.createRequestFactory(); 
    JSONParser parser = new JSONParser(); 
    String topicId = "/en/bob_dylan"; 
    GenericUrl url = new GenericUrl("https://www.googleapis.com/freebase/v1/topic" + topicId); 
    url.put("key", properties.get("API_KEY")); 
    HttpRequest request = requestFactory.buildGetRequest(url); 
    HttpResponse httpResponse = request.execute(); 
    JSONObject topic = (JSONObject)parser.parse(httpResponse.parseAsString()); 
     System.out.println(JsonPath.read(topic,"$.property['/type/object/name'].values[0].value").toString()); 
} catch (Exception ex) { 
    ex.printStackTrace();}}} 

Я не знаю, что делать, чтобы решить эту проблему.

ответ

1

На следующем рисунке показаны все необходимые библиотеки для решения этой проблемы, или я могу сказать запустить код совершенно правильно. enter image description here

0

Какую версию библиотеки вы используете? У меня была такая же проблема; он работал с 1.4.1-бета-версией.

Maven ссылка: http://mvnrepository.com/artifact/com.google.api.client/google-api-client/1.4.1-beta

+0

Я использовал 1.4.1-бета, но я получил ошибка может пожалуйста, скажите мне, все версии библиотеки вы used.because я получил ошибку на этой линии either.'JSONParser парсер = новый JsonParser(); ' – user3487667

+0

user3487667 имеет полный список с более новой версией. –