使用google-api-java-client-1.15.0-rc创建createRequestFactory

ric*_*ori 4 parsing android json header google-places-api

我必须实现此方法,但大多数libs已被弃用.我需要一个与客户端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);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

我无法解决的事情是:

GoogleHeaders headers = new GoogleHeaders();
Run Code Online (Sandbox Code Playgroud)

JsonHttpParser parser = new JsonHttpParser(new JacksonFactory());
Run Code Online (Sandbox Code Playgroud)

txu*_*lee 6

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

<dependency>
   <groupId>com.google.http-client</groupId>
   <artifactId>google-http-client-jackson</artifactId>
   <version>1.15.0-rc</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

并取代:

JsonHttpParser parser = new JsonHttpParser(new JacksonFactory());
request.addParser(parser);
Run Code Online (Sandbox Code Playgroud)

有:

JsonObjectParser parser = new JsonObjectParser(new JacksonFactory());
request.setParser(parser);
Run Code Online (Sandbox Code Playgroud)

我自己解决后,会立即通知您如何解决GoogleHeaders的依赖关系.

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

HttpHeaders headers = new HttpHeaders();
headers.setUserAgent("AndroidHive-Places-Test");
Run Code Online (Sandbox Code Playgroud)