Ich versuche zu verwenden Firebase Admin auf einem Servlet, das auf App Engine (Google Cloud Platform) kommuniziert. Ich verwende ein Servlet, weil ich ein Token erzeugen muss, um meinen Zugang zu einer anderen API zu validieren, die ich verwende.Kann Firebase auf einem Servlet arbeiten?
Hat jemand diesen erfolgreichen Verlauf mit Firebase auf einem Servlet?
Ich bin mit com.google.firebase:firebase-admin:5.2.0
App Engine SDK
com.google.appengine:appengine-java-sdk:1.9.50
com.google.appengine:appengine-api-1.0-sdk:1.9.54
Innerhalb des GET ich das Token nehme die Händler API zuzugreifen.
String mToken = gateway.clientToken().generate();
JSONObject jsonObject = new JSONObject();
jsonObject.put("nonce", mToken);
resp.getWriter().println(jsonObject.toString());
Innerhalb der POST Firebase Admin vollen Privilegien.
Alle Firebase ist in einem einzigen Versuch und die Transaktionsanfrage ist in einem anderen Versuch.
FileInputStream serviceAccount = new FileInputStream("/WEB-INF/...json");
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredential(FirebaseCredentials.fromCertificate(serviceAccount))
.setDatabaseUrl("https://MyProject.firebaseio.com/")
.build();
FirebaseApp.initializeApp(options);
IAM gewähren bereits die Leseberechtigung.
Firebase Database Reference mit der Transaktion
DatabaseReference ref = FirebaseDatabase
.getInstance()
.getReference("price");
ref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String res = (String) dataSnapshot.getValue();
try {
TransactionRequest request = new TransactionRequest()
.amount(new BigDecimal(res)) //Res doesn't show any error but it also doesn't work
.paymentMethodNonce(nonce)
.options()
.submitForSettlement(true)
.storeInVaultOnSuccess(true)
.done();
Result<Transaction> result = gateway.transaction().sale(request);
Dank.
Im Umgang mit der gleichen Sache! – Andrea
suchen Sie nach diesem https://cloud.google.com/solutions/mobile/firebase-app-engine-android-studio#writing_the_servlet_code – Krutik
Können Sie bitte genau sagen, was Sie zu tun versuchen? Ich verwende Firebase Admin in Google App Engine. Also, was ist dein Problem? –