Вы можете интегрировать Cloud Endpoints с Firebase. Хотя Datastore может быть лучшим выбором в зависимости от вашей ситуации, мне нужно было интегрироваться с существующей firebase. Ниже приведен пример того, как это сделать. Это происходит из рабочего примера, я изменил некоторые имена.
Примечание: этот пример inits в firebase приложения каждый раз, вы должны сделать проверку, чтобы увидеть, если firebase приложение уже инициализирован или второй раз, конечная точка ударила, вы получите сообщение об ошибке,
<dependency>
<groupId>com.google.endpoints</groupId>
<artifactId>endpoints-framework</artifactId>
<version>${endpoints.framework.version}</version>
</dependency>
<dependency>
<groupId>com.google.firebase</groupId>
<artifactId>firebase-admin</artifactId>
<version>5.3.0</version>
</dependency>
package com.example.mypackage;
import com.google.firebase.FirebaseApp;
import com.google.firebase.FirebaseOptions;
import com.google.firebase.auth.FirebaseCredentials;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.*;
import java.io.IOException;
import java.io.FileNotFoundException;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.logging.Logger;
import java.util.logging.Level;
public class MyClass {
private final static Logger LOGGER = Logger.getLogger(Echo.class.getName());
public static void main() {
try {
FileInputStream serviceAccount = new FileInputStream("WEB-INF/my-service-account.json");
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredential(FirebaseCredentials.fromCertificate(serviceAccount))
.setDatabaseUrl("https://my-project.firebaseio.com/")
.build();
FirebaseApp.initializeApp(options);
final FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference ref = database.getReference("/foo");
ref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String post = dataSnapshot.toString();
LOGGER.log(Level.INFO, post);
System.out.println(post);
}
@Override
public void onCancelled(DatabaseError databaseError) {
LOGGER.log(Level.INFO, "cancel");
// ...
}
});
ref.setValue("bar");
} catch (Exception e) {
// some error handling code here
LOGGER.log(Level.SEVERE, e.toString(), e);
}
}
}
Вы должны попытаться внести свой заголовок в сосредоточенный вопрос. – Tom
Сэр я редактировал свой титул. Я хочу использовать API-интерфейс API Google в качестве сервера и firebase в качестве хранилища баз данных. Я не уверен, можем ли мы подключить модуль конечной точки приложения к firebase. –
Вы хотите, чтобы база данных firebase для доступа к базе данных в режиме реального времени ?, поскольку остальная часть средств, предоставляемых базой данных firebase, уже доступна с хранилищем данных App Engine. –