Java 自定义搜索API

Java 自定义搜索API,java,jackson,Java,Jackson,当我尝试使用谷歌自定义搜索API时,我遇到了错误。 在谷歌服务器中,我可以看到我的请求 代码: public class Main { private static final String APPLICATION_NAME = "MyWeb"; private static final String API_KEY = "00000"; private static final String engine = ("000000"); private static HttpTranspor

当我尝试使用谷歌自定义搜索API时,我遇到了错误。 在谷歌服务器中,我可以看到我的请求

代码:

public class Main {
private static final String APPLICATION_NAME = "MyWeb";

private static final String API_KEY = "00000";
private static final String engine = ("000000");


private static HttpTransport httpTransport;

@SuppressWarnings("unused")
private static Customsearch client;


public static void main(String[] args) throws IOException {

    Customsearch customsearch = new Customsearch(new NetHttpTransport(), new JacksonFactory(),null);
    try {
      Customsearch.Cse.List list = customsearch.cse().list("HERE");
        list.setKey(API_KEY);
        list.setCx(engine);
        Search results = list.execute();
        List<Result> items = results.getItems();

        for(Result result:items)
        {
            System.out.println("Title:"+result.getHtmlTitle());
        }

    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    }
}

正如lakshman在评论中指出的,这几乎肯定是由于在构建
Customsearch
对象时缺少
com.google.api.client.json.JsonFactory
的实现,您当前将其设置为null。尝试添加此功能的实现


Customsearch对象目前有一些JavaDoc,这可能会对您有所帮助。

类路径上有API,您也有实现吗?如果这不是问题,请发布一些代码…在您的用户
JsonFactory
class
Exception in thread "main" java.lang.AbstractMethodError: com.google.api.client.json.JsonFactory.createJsonParser(Ljava/io/InputStream;Ljava/nio/charset/Charset;)Lcom/google/api/client/json/JsonParser;
    at com.google.api.client.json.JsonObjectParser.parseAndClose(JsonObjectParser.java:85)
    at com.google.api.client.json.JsonObjectParser.parseAndClose(JsonObjectParser.java:81)
    at com.google.api.client.http.HttpResponse.parseAs(HttpResponse.java:459)
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:460)
    at com.korney.Main.main(Main.java:44)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

Process finished with exit code 1