일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 본앤메이드신발살균건조기
- 비오는날신발말리는방법
- 초록누리 사이트
- 전원 꽂을 곳이 있는 카페
- 유튜브준비중
- 환경부 초록누리
- 화이자 3차부작용
- 안눕법 실
- 카페 FLORA
- 화이자 3차 후기
- 경기도청년면접수당모집
- 본앤메이드사용설명서
- 초록누리홈페이지
- 카공족 인 척하는 아줌마
- 앱부업
- 본앤메이드
- 네이버 스마트 스토어
- 화이자3차접종간격
- 빈속에 티라미슈는 무거워
- 생활환경안전정보시스템
- 흙회장
- 스마트 스토어 창업
- 글쓰기클럽
- 흙크루글쓰기클럽1기
- 매일글쓰기
- k.kakaocdn.net
- 깔끔한 꽃차 좋아
- 실발살균건조기
- 카카오뷰
- 화이자3차접종
- Today
- Total
우물안에서 보는 하늘도 맑다
쿠팡 파트너스 프로그램 제작 4일차 그리고 네이버블로그 초기화 신청 본문
큰 그림 그리기
* 이클립스 시작
* Spring Boot Project 기본 시작
* ChatGPT 에 시작 프로그램 물어보기
* 쿠팡 파트너스 API 연동
* 쿠팡 파트너스 프로그램을 올려둘 워드프로세서 웹 페이지나 aws 웹 페이지 알아보기
- 호스팅?
* 테스트 시작
* SNS나 블로그에 자동으로 글을 올리는 부분 시작
오늘 진척도
* 역시 chatGPT 가 준 소스는 동작을 안함....
- chatGPT 유료 계정 결제 할까 고민중. 써본 사람의 말로는 무료 보다는 플러그인 사용이 가능해서 무료보다 나은 소스를 제공한다고 함.
* 쿠팡 파트너스 API 가이드 : https://partners.coupang.com/?gclid=Cj0KCQiAgKzwBRCjARIsABBbFugRgiOLX7hc2FMjTPANwrTvX51EpxTf2k0ag-kP3-371_oZlg5IT64aAhNUEALw_wcB#help/open-api
* 쿠팡 파트너스 기본 예제(쿠팡 파트너스에서 제공하는 예제)
- HmacGenerator.java
package com.coupang;
import org.apache.commons.codec.binary.Hex;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.nio.charset.Charset;
import java.security.GeneralSecurityException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
public final class HmacGenerator {
private static final String ALGORITHM = "HmacSHA256";
private static final Charset STANDARD_CHARSET = Charset.forName("UTF-8");
/**
* Generate HMAC signature
* @param method
* @param uri http request uri
* @param secretKey secret key that Coupang partner granted for calling open api
* @param accessKey access key that Coupang partner granted for calling open api
* @return HMAC signature
*/
public static String generate(String method, String uri, String secretKey, String accessKey) {
String[] parts = uri.split("\\?");
if (parts.length > 2) {
throw new RuntimeException("incorrect uri format");
} else {
String path = parts[0];
String query = "";
if (parts.length == 2) {
query = parts[1];
}
SimpleDateFormat dateFormatGmt = new SimpleDateFormat("yyMMdd'T'HHmmss'Z'");
dateFormatGmt.setTimeZone(TimeZone.getTimeZone("GMT"));
String datetime = dateFormatGmt.format(new Date());
String message = datetime + method + path + query;
String signature;
try {
SecretKeySpec signingKey = new SecretKeySpec(secretKey.getBytes(STANDARD_CHARSET), ALGORITHM);
Mac mac = Mac.getInstance(ALGORITHM);
mac.init(signingKey);
byte[] rawHmac = mac.doFinal(message.getBytes(STANDARD_CHARSET));
signature = Hex.encodeHexString(rawHmac);
} catch (GeneralSecurityException e) {
throw new IllegalArgumentException("Unexpected error while creating hash: " + e.getMessage(), e);
}
return String.format("CEA algorithm=%s, access-key=%s, signed-date=%s, signature=%s", "HmacSHA256", accessKey, datetime, signature);
}
}
}
- OpenApiTestApplication.java
package com.coupang;
import org.apache.http.entity.StringEntity;
import org.apache.http.util.EntityUtils;
import org.apache.http.HttpHost;
import org.apache.http.HttpRequest;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.RequestBuilder;
import org.apache.http.impl.client.HttpClientBuilder;
import java.io.IOException;
public final class OpenApiTestApplication {
private final static String REQUEST_METHOD = "POST";
private final static String DOMAIN = "https://api-gateway.coupang.com";
private final static String URL = "/v2/providers/affiliate_open_api/apis/openapi/v1/deeplink";
// Replace with your own ACCESS_KEY and SECRET_KEY
private final static String ACCESS_KEY = "쿠팡에서 발급받은 access_key 넣기";
private final static String SECRET_KEY = "쿠팡에서 발급받은 secret_key 넣기";
private final static String REQUEST_JSON = "{\"coupangUrls\": [\"https://www.coupang.com/np/search?component=&q=good&channel=user\",\"https://www.coupang.com/np/coupangglobal\"]}";
public static void main(String[] args) throws IOException {
// Generate HMAC string
String authorization = HmacGenerator.generate(REQUEST_METHOD, URL, SECRET_KEY, ACCESS_KEY);
// Send request
StringEntity entity = new StringEntity(REQUEST_JSON, "UTF-8");
entity.setContentEncoding("UTF-8");
entity.setContentType("application/json");
HttpHost host = HttpHost.create(DOMAIN);
HttpRequest request = RequestBuilder.post(URL).setEntity(entity)
.addHeader("Authorization", authorization)
.build();
HttpResponse httpResponse = HttpClientBuilder.create().build().execute(host, request);
// verify
System.out.println(EntityUtils.toString(httpResponse.getEntity()));
}
}
* Spring boot 3.1.2 에서 @controller 나 @service 로 쿠팡파트너스 예제가 실행 되게 변경중
* @Controller 어노테이션이 자동 import 되지 않아서 chatGPT 에게 원인을 물어보고 update maven project 진행함
- chatGPT : https://chat.openai.com/share/0477ab70-f61d-4e3f-84fd-814acf7c7661
* 블로그 방향 고민
- 네이버 블로그로 아예 이사 갈지.. 주제별로 블로그를 나눌지 고민 중
- 둘다 운영하기에는 글을 자주 쓸 자신이 없고, 그렇다고 이미 구글 애드센스 고시를 통과한 블로그를 버리기는 아깝다. 지금 최적화된 건강, 병원 관련으로 티스토리 블로그를 관리하고, 일상과 지금 공부하는 내용들을 네이버로 옮길지 고민중이다. 초기화 신청을 해놓았으니 찬찬히 고민해 보는 것으로 하자. 종이나 블로그에 내가 블로그에서 쓸 수 있는 주제를 모두 쓰고(애써 노력하지 않아도 자주 쓸 수 있는 주제) 중 하거나 돈이 될만한 블로그 주제로 방향을 바꿀지도 생각해 볼 것!!!
'일' 카테고리의 다른 글
쿠팡 파트너스 프로그램 제작 6일차 (0) | 2023.08.19 |
---|---|
쿠팡 파트너스 프로그램 제작 5일차 (0) | 2023.08.12 |
쿠팡 파트너스 프로그램 제작 3일차 그리고 숨고 첫 채팅 (0) | 2023.08.10 |
쿠팡 파트너스 프로그램 제작 2일차 (0) | 2023.08.08 |
쿠팡 파트너스 프로그램 제작 1일차 (0) | 2023.08.07 |