Google Analytics: получить токен доступа из обновления токена

Я работаю с Google Analytics API в Java. У меня есть код, который выбирает токен доступа из обновления токена. Мы храним токен обновления в базе данных и, запрашивая, получаем токен доступа.

После смены пароля наш токен запроса стал недействительным. Итак, я сгенерировал новый знак обновления, просмотрев URL ( https://developers.google.com/oauthplayground) и следуя инструкциям. Я получил новый токен обновления. Теперь, когда я выполняю код для получения токена доступа, он выдает исключение нулевого указателя. Ниже приведен код:

RefreshTokenRequest request = new GoogleRefreshTokenRequest(HTTP_TRANSPORT, JSON_FACTORY, refreshToken,
                    this.clientId, this.clientSecret);
            TokenResponse response = request.execute(); 

Когда вызывается метод execute, он выдает следующее исключение:

java.lang.NullPointerException
    at com.google.api.client.repackaged.com.google.common.base.Preconditions.checkNotNull(Preconditions.java:191)
    at com.google.api.client.util.Preconditions.checkNotNull(Preconditions.java:127)
    at com.google.api.client.json.jackson2.JacksonFactory.createJsonParser(JacksonFactory.java:96)
    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.auth.oauth2.TokenResponseException.from(TokenResponseException.java:88)
    at com.google.api.client.auth.oauth2.TokenRequest.executeUnparsed(TokenRequest.java:287)
    at com.google.api.client.googleapis.auth.oauth2.GoogleRefreshTokenRequest.execute(GoogleRefreshTokenRequest.java:125)
    at com.google.api.client.googleapis.auth.oauth2.GoogleRefreshTokenRequest.execute(GoogleRefreshTokenRequest.java:75)
    at GARTest.main(GARTest.java:22)

Может кто-нибудь указать, где я делаю не так? Я могу получить токен доступа от Google oAuth UI.

1 ответ

Это может иметь ваш ответ: https://github.com/googleads/googleads-java-lib/issues/19

Пользователь Github jyothi462 говорит, что его NPE в конечном итоге был вызван использованием неверного идентификатора клиента и секрета. Это было также проблемой в моем случае.

Эта проблема была решена путем обновления сообщения об ошибке, что сделало его более информативным.

Другие вопросы по тегам