【问题标题】:createRequestFactory with google-api-java-client-1.15.0-rccreateRequestFactory 与 google-api-java-client-1.15.0-rc
【发布时间】:2013-06-17 12:12:21
【问题描述】:

我必须实现此方法,但大多数库已被弃用。 我需要一个与客户端 1.15.0rc 兼容的新版本。

public static HttpRequestFactory createRequestFactory(
        final HttpTransport transport) {
    return transport.createRequestFactory(new HttpRequestInitializer() {
        public void initialize(HttpRequest request) {
            GoogleHeaders headers = new GoogleHeaders();
            headers.setApplicationName("AndroidHive-Places-Test");
            request.setHeaders(headers);
            JsonHttpParser parser = new JsonHttpParser(new JacksonFactory());
            request.addParser(parser);
        }
    });
}

我无法解决的事情是:

GoogleHeaders headers = new GoogleHeaders();

JsonHttpParser parser = new JsonHttpParser(new JacksonFactory());

【问题讨论】:

    标签: android json parsing header google-places-api


    【解决方案1】:

    我在这里也遇到了同样的问题。到目前为止,我已经解决了添加以下库的 json 依赖项:

    <dependency>
       <groupId>com.google.http-client</groupId>
       <artifactId>google-http-client-jackson</artifactId>
       <version>1.15.0-rc</version>
    </dependency>
    

    和替换:

    JsonHttpParser parser = new JsonHttpParser(new JacksonFactory());
    request.addParser(parser);
    

    与:

    JsonObjectParser parser = new JsonObjectParser(new JacksonFactory());
    request.setParser(parser);
    

    我会在我自己解决 GoogleHeaders 依赖项后告诉您如何解决它。

    编辑:看起来他们在 1.14 版中删除了这个类(参见this issue),转而使用 HttpHeader。将 GoogleHeaders 更改为 HttpHeader 并将 setApplicationName 替换为 setUserAgent,如下所示:

    HttpHeaders headers = new HttpHeaders();
    headers.setUserAgent("AndroidHive-Places-Test");
    

    【讨论】:

    • 导入错误消失了 :) 但我有疑问,因为 JacksonFactory.class 位于 google-http-client-jackson2-1.18.0-rc 和 google-http-client-jackson1-1.18.0 -rc。这些罐子有什么区别?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-09
    • 2011-10-18
    • 1970-01-01
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多