Programming
[Firebase] 짧은 동적 링크 만들기 (java)
상상쓰
2021. 7. 27. 16:34
참고 : https://sangsangss.tistory.com/107
[Firebase] 짧은 동적 링크 만들기 (jquery)
https://firebase.google.com/docs/dynamic-links/rest?authuser=1 REST API로 동적 링크 만들기 | Firebase 참고: 전체 Short Links API 참조는 참조 섹션에서 확인할 수 있습니다. Firebase Dynamic Links RES..
sangsangss.tistory.com
JAVA 에서 POST 방식으로 짧은 동적 링크를 요청할 수 있다.
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
try {
JSONObject params = new JSONObject();
JSONObject suffix = new JSONObject();
params.put("longDynamicLink", "https://[URL 프리픽스]/?link=" + [긴 링크]);
suffix.put("option", "SHORT");
params.put("suffix", suffix);
String hurl = "https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=[api_key]";
URL url = new URL(hurl);
HttpURLConnection http = (HttpURLConnection) url.openConnection();
http.setRequestMethod("POST");
http.setRequestProperty("content-type", "application/json");
http.setDoOutput(true);
http.setDoInput(true);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(http.getOutputStream()));
bw.write(params.toString());
bw.flush();
bw.close();
BufferedReader br = new BufferedReader(new InputStreamReader(http.getInputStream()));
String temp = "";
while ((temp = br.readLine()) != null) {
result = result.concat(temp);
}
br.close();
JSONParser jp = new JSONParser();
JSONObject jo = new JSONObject();
jo = (JSONObject) jp.parse(result);
result = (String) jo.get("shortLink"); // result = [동적 링크]
} catch (IOException e) {
e.printStackTrace();
}
다음, 긴 링크에 parameter 가 있는 경우, params 변수를 아래와 같이 나눈다.
JSONObject params = new JSONObject();
JSONObject dynamicLInkInfo = new JSONObject();
JSONObject suffix = new JSONObject();
dynamicLinkInfo.put("dynamicLinkDomain", "[URL 프리픽스 (https 생략)]");
dynamicLinkInfo.put("link", "[긴 링크 (?, & 포함 URL)]");
suffix.put("option", "SHORT");
params.put("dynamicLinkInfo", dynamicLinkInfo);
params.put("suffix", suffix);