0
我需要能够将一些数据更新到firebase,而无需将firebase设置为联机,这样只有指定的数据被发送,而没有wifi可用。我一直无法找到关于如何在Java中使用REST API的任何文档或指南。有人可以帮我吗?如何在Java中使用Firebase REST API?
我需要能够将一些数据更新到firebase,而无需将firebase设置为联机,这样只有指定的数据被发送,而没有wifi可用。我一直无法找到关于如何在Java中使用REST API的任何文档或指南。有人可以帮我吗?如何在Java中使用Firebase REST API?
不幸的是,现在还没有适用于Firebase REST界面的Java SDK(我可以找到)。相反,您需要使用您选择的HTTP客户端创建一个。
下面是一个例子使用泽西:
import javax.ws.rs.core.MediaType;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.ClientHandlerException;
import com.sun.jersey.api.client.UniformInterfaceException;
import com.vnomicscorp.firebase.sdk.FirebaseSdk;
import com.vnomicscorp.firebase.sdk.FirebaseSdkException;
public class FirebaseSdkJersey {
private static final String DEFAULT_AUTH_PARAM_NAME = "auth";
private static final String DEFAULT_PATH_FORMAT = "%s.json";
private final String credentials;
private final String url;
private final Client client;
private String authParamName = DEFAULT_AUTH_PARAM_NAME;
private String pathFormat = DEFAULT_PATH_FORMAT;
public FirebaseSdkJersey(String url, String credentials, Client client) {
this.url = url;
this.credentials = credentials;
this.client = client;
}
public void setValue(String path, String value) throws Exception {
client.resource(url).path(String.format(pathFormat, path))
.queryParam(authParamName, credentials)
.type(MediaType.APPLICATION_JSON).entity(value)
.put(String.class);
}
public String getValue(String path) throws Exception {
return client.resource(url).path(String.format(pathFormat, path))
.queryParam(authParamName, credentials).get(String.class);
}
public void deleteValue(String path) throws Exception {
client.resource(url).path(String.format(pathFormat, path))
.queryParam(authParamName, credentials).delete(String.class);
}
}
需要下面的依赖
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.19</version>
</dependency>
建设看起来是这样的:
Client client = Client.create();
sdk = new FirebaseSdkJersey(url, credentials, client);
哪里url
是火力地堡url和credentials
是在管理控制台中生成的密钥。