4

我必须实现这种方法,但大多数库都已弃用。我需要一个与客户端 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());
4

1 回答 1

6

我在这里也遇到了同样的问题。到目前为止,我已经解决了添加以下库的 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 版中删除了这个类(参见这个问题),转而支持 HttpHeader。将 GoogleHeaders 更改为 HttpHeader 并将 setApplicationName 替换为 setUserAgent,如下所示:

HttpHeaders headers = new HttpHeaders();
headers.setUserAgent("AndroidHive-Places-Test");
于 2013-06-29T16:47:55.770 回答