API(Application Programming Interface)
자바 시스템을 제어하기 위해서 자바에서 제공하는 명령어들을 의미한다
JAVA 개발자들이 java에서 코딩을 쉽게 할 수 있도록 미리 만들어 놓은 것들
API 의 종류는 굉장히 많고 다양하기 때문에 모두 외우는 것은 절대 불가능하다
그렇기 때문에 처음 보는 API라도 설명과 이름, 매개변수 등을 잘 읽고 맞는 목적으로 잘 사용하는 방법을 알아야 한다
Coolsms
(주)누리고 라는 회사에서 주소록 기반의 카카오 알림톡 및 문자메시지 웹발송 지원해주는 서비스를 제공해준다
단 sms기준 건당 20포인트를 사용하기 때문에 유료결제를 해야한다( 첫 가입 시 공짜로 300 포인트를 제공해준다)
가입하기
회원가입을 누른 후 이메일로 가입을 하면 된다
본인이 사용하는 발신 번호와 API 키를 등록하게 되면 테스트 문자 발송할 수 있게 되고
테스트 문자 발송을 통해 메세지가 보내지는게 확인이 되면 가입이 잘 완료 되었다고 볼 수 있다
문자 보내기
가입 완료 후 개발자센터로 넘어와 api를 가져와 사용하기 위해서는 우선 sdk 다운로드를 클릭한다
그리고 JAVA용 sdk를 다운로드 받기위해 step2의 깃 링크로 들어간다
여기에서 source code를 다운 받으면 된다
압축을 풀면 두개의 jar파일이 나오며 이 두 파일을 이클립스에서 빌드 패스로 추가해주면 된다
빌드패스에서 configure build path를 눌러서 다음으로 넘어간 후
Libraries에서 Add External JARs를 눌러 두 파일을 추가해주면 된다
Examples 페이지로 이동해서 문자 예제를 복사해서 아래와 같이 사용 하면 된다.
package api;
import java.util.HashMap;
import java.util.Random;
import java.util.Scanner;
import org.json.simple.JSONObject;
import net.nurigo.java_sdk.api.Message;
import net.nurigo.java_sdk.exceptions.CoolsmsException;
public class SMSTest {
public static void main(String[] args) {
String api_key = "api-key";
String api_secret = "api-secret";
Message coolsms = new Message(api_key, api_secret);
// 4 params(to, from, type, text) are mandatory. must be filled
HashMap<String, String> params = new HashMap<String, String>();
params.put("to", "01000000000");
params.put("from", "01000000000");
params.put("type", "SMS");
params.put("text", "보내고자 하는 메세지");
params.put("app_version", "test app 1.2"); // application name and version
Random r = new Random();
Scanner sc = new Scanner(System.in);
String source = "abcdefghijklnmopqrstuvwxyzABCDEFGHIJKLNMOPQRSTUVWXYZ0123456789";
int len = source.length();
r.nextInt(len);
String result = "";
for (int i = 0; i < 5; i++) {
int idx = r.nextInt(len);
result += source.charAt(idx);
}
params.put("text","아래코드를 입력하세요\n" + result);
try {
JSONObject obj = (JSONObject) coolsms.send(params);
System.out.println(obj.toString());
} catch (CoolsmsException e) {
System.out.println(e.getMessage());
System.out.println(e.getCode());
}
System.out.println("발송코드 :" );
String answer = sc.next();
if(answer.equals(result)) {
System.out.println("가입 성공!");
}else {
System.out.println("가입 실패 !");
}
}
}
api-key와 api-secret을 부분에 입력하고 , params 부분에 to / from 에는 받는 사람과 보내는 사람의 전화번호를 입력하고
text 부분에 보내고자 하는 메세지를 입력하면 된다.
'언어의 기초 > 자바(JAVA)' 카테고리의 다른 글
[JAVA]쓰레드 (Thread) / MVC 모델 (0) | 2021.12.13 |
---|---|
[JAVA] Object클래스, Wrapper, Generic (0) | 2021.12.06 |
[JAVA] 익명 클래스 (0) | 2021.11.30 |
[JAVA] 클래스 다형성, 상속성 , 추상화 ,업캐스팅/ 다운캐스팅 (0) | 2021.11.29 |
[JAVA] 조건문과 반복문 (0) | 2021.11.24 |