Отправить Firebase FCM HTTP v1 API с помощью JavaJAVA

Программисты JAVA общаются здесь
Anonymous
Отправить Firebase FCM HTTP v1 API с помощью Java

Сообщение Anonymous »

в данный момент я отправляю сообщения со статическим серверным ключом
conn.setRequestProperty("Authorization", SERVERKEY);

Теперь я буду отправлять сообщения с токеном доступа через OAuth 2.0.
conn.setRequestProperty("Authorization", "Bearer ACCESSTOKEN");

Токен доступа действителен в течение 1 часа.
Мне нужно получить новый действительный токен доступа.
Я пытаюсь реализовать это с помощью документации Firebase.
В консоли Firebase был создан файл JSON.
private static final String MESSAGING_SCOPE = "https://www.googleapis.com/auth/firebase.messaging";
private static final String[] SCOPES = { MESSAGING_SCOPE };

private static String getAccessToken() throws IOException {
GoogleCredentials googleCredentials = GoogleCredentials
.fromStream(new FileInputStream("service.json"))
.createScoped(Arrays.asList(SCOPES));
googleCredentials.refreshIfExpired();
AccessToken token = googleCredentials.getAccessToken();

return token.getTokenValue();
}

Но по прошествии более длительного времени результат:
Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.util.concurrent.Futures.getDone(Ljava/util/concurrent/Future;)Ljava/lang/Object;
at com.google.auth.oauth2.OAuth2Credentials.finishRefreshAsync(OAuth2Credentials.java:287)
at com.google.auth.oauth2.OAuth2Credentials.access$300(OAuth2Credentials.java:67)
....

Я внедрил библиотеку firebase-admin как проект maven:

com.google.firebase
firebase-admin
9.2.0



Подробнее здесь: https://stackoverflow.com/questions/775 ... -with-java

Вернуться в «JAVA»