Исправить для Google Api Java образец для широты кто-нибудь? - PullRequest
1 голос
/ 21 мая 2011

Я только что проверил примеры google-api-java-client и построил их, используя eclipse maven.

Я настроил свой класс ClientCredentials с ключом потребителя, секретом потребителя и ключом ввода.

Когда я запускаю образец, он запрашивает у меня разрешение на доступ к моим данным о широте Google и закрывает браузер, и консоль eclipse остается с этой ошибкой:

2011-05-21 23:57:01.777:INFO::Logging to STDERR via org.mortbay.log.StdErrLog
2011-05-21 23:57:01.778:INFO::jetty-6.1.24
2011-05-21 23:57:01.792:INFO::Started SocketConnector@localhost:51514
Created new window in existing browser session.
2011-05-21 23:57:09.121:INFO::Stopped SocketConnector@localhost:51514
Current location:
java.lang.IllegalArgumentException
    at com.google.common.base.Preconditions.checkArgument(Preconditions.java:72)
    at com.google.api.client.json.JsonParser.parseValue(JsonParser.java:450)
    at com.google.api.client.json.JsonParser.parse(JsonParser.java:249)
    at com.google.api.client.json.JsonParser.parseAndClose(JsonParser.java:176)
    at com.google.api.client.json.JsonParser.parseAndClose(JsonParser.java:115)
    at com.google.api.client.googleapis.json.JsonCParser.parse(JsonCParser.java:49)
    at com.google.api.client.http.HttpResponse.parseAs(HttpResponse.java:261)
    at com.google.api.client.sample.latitude.model.LocationResource.executeGetCurrentLocation(LocationResource.java:78)
    at com.google.api.client.sample.latitude.LatitudeSample.showCurrentLocation(LatitudeSample.java:50)
    at com.google.api.client.sample.latitude.LatitudeSample.main(LatitudeSample.java:34)

Когда я отлаживаю приложение, этопеременные в строке 450 JsonParser.class:

newInstance null    
isMap   false   
token   JsonToken  (id=40)  
name    "VALUE_STRING" (id=55)  
ordinal 5   
field   Field  (id=45)  
fieldClass  Class<T> (java.lang.Long) (id=47)   

Поле:

public java.lang.Long com.google.api.client.sample.latitude.model.LocationResource.timestampMs

Это сводка HG:

bob@computer:~/development/google-api-java-client-samples$ hg summary
parent: 92:4be51d2cc385 tip
 Samples for version 1.4.
branch: default
commit: 1 modified
update: (current)

ОБНОВЛЕНИЕ! Это можно исправить, изменив строку 30 com.google.api.client.sample.latitude.model.LocationResource из "public Long timestampMs;"к "общедоступной строковой метке времени";Поскольку сервер отправляет обратно строку, а не число.

Реальный вопрос заключается в следующем: почему сервер отправляет обратно строку, когда образец ожидает число?Пример кода неправильный?(наверное) или сервер?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...