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
是在管理控制檯中生成的密鑰。