Мне нужен доступ к конечным точкам Google BigQuery REST Api с учетной записью службы с использованием клиентской библиотеки Http.Итак, я попробовал код, приведенный в статье Использование OAuth 2.0 для серверных приложений
Это дает мне ошибку компиляции в следующей строке.
Algorithm.RSA256(null, privateKey)
Код ниже:
GoogleCredential credential = GoogleCredential
.fromStream(new FileInputStream("service_account.json"));
PrivateKey privateKey = credential.getServiceAccountPrivateKey();
String privateKeyId = credential.getServiceAccountPrivateKeyId();
try {
Algorithm algorithm = Algorithm.RSA256(null, privateKey);
String signedJwt = JWT.create().withKeyId(privateKeyId)
.withIssuer("123456-compute@developer.gserviceaccount.com")
.withSubject("123456-compute@developer.gserviceaccount.com")
.withAudience("https://firestore.googleapis.com/google.firestore.v1beta1.Firestore")
.withIssuedAt(new Date(now)).withExpiresAt(new Date(now + 3600 * 1000L)).sign(algorithm);
} catch (Exception e) {
e.printStackTrace();
}
Примечание: Algorithm.RSA256 () принимает java.security.interfaces.RSAPrivateKey, тогда как Google Api возвращает java.security.PrivateKey
Может ли кто-нибудь помочь мне в этом?