반응형
다음 쿼리는 쿠팡파트너스 링크가 N포털에서 누락되는 현상을 방지하기 위해 만들어진 링크 변환 생성 프로그램입니다.
네이버의 숏URL을 변환을 위한 Client ID/Secret키를 변경하여 사용하세요.
사용하기 전 쿠팡파트너스 웹사이트 목록에 "http://sp.moyeola.com/"을 꼭 추가해 주세요.
import requests
import time
import os, sys
import hmac
import json
import hashlib
import urllib
from urllib import parse
def Coupang_link(access_key, secret_key, link):
AD_LINK = Get_CoupangAPI_Deeplink(access_key, secret_key, link)
print("결과: 아래 URL을 복사하여 이용하세요.")
print(get_short_url('http://sp.moyeola.com/vip.php?method=' + parse.quote(AD_LINK["data"][0]['landingUrl'])))
def get_short_url(URL):
client_id = ""
client_secret = ""
encText = urllib.parse.quote(URL)
data = "url=" + encText
url = "https://openapi.naver.com/v1/util/shorturl"
request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id",client_id)
request.add_header("X-Naver-Client-Secret",client_secret)
response = urllib.request.urlopen(request, data=data.encode("utf-8"))
rescode = response.getcode()
if(rescode==200):
response_body = response.read()
data = json.loads(response_body)
return data['result']['url']
else:
print("Error Code:" + rescode)
return URL
def Get_CoupangAPI_Deeplink(GET_ACCESS_KEY, GET_SECRET_KEY,REQUEST_URL):
REQUEST_METHOD = "POST"
DOMAIN = "https://api-gateway.coupang.com"
URL = "/v2/providers/affiliate_open_api/apis/openapi/v1/deeplink"
# Replace with your own ACCESS_KEY and SECRET_KEY
ACCESS_KEY = GET_ACCESS_KEY
SECRET_KEY = GET_SECRET_KEY
REQUEST = {"coupangUrls": [REQUEST_URL]}
def generateHmac(method, url, secretKey, accessKey):
path, *query = url.split("?")
os.environ["TZ"] = "GMT+0"
datetime = time.strftime('%y%m%d') + 'T' + time.strftime('%H%M%S') + 'Z'
message = datetime + method + path + (query[0] if query else "")
signature = hmac.new(bytes(secretKey, "utf-8"), message.encode("utf-8"), hashlib.sha256).hexdigest()
return "CEA algorithm=HmacSHA256, access-key={}, signed-date={}, signature={}".format(accessKey, datetime,signature)
authorization = generateHmac(REQUEST_METHOD, URL, SECRET_KEY, ACCESS_KEY)
url = "{}{}".format(DOMAIN, URL)
resposne = requests.request(method=REQUEST_METHOD, url=url,headers={
"Authorization": authorization,
"Content-Type": "application/json"
},
data=json.dumps(REQUEST)
)
return resposne.json()
if __name__ == '__main__':
Coupang_link(sys.argv[1], sys.argv[2], sys.argv[3])
#실행예시
#python Coupang_Short_URL.py f367c021-7514-463c-b8c2-44f1d9031a4b 813ea4854bca9a18365fae579c170cb980e9dda4 https://www.coupang.com/vp/products/650952
17
#cd C:\FFeedom_Project\Affiliate_Inserting
# pyinstaller --onefile Coupang_Short_URL.py
#Coupang_Short_URL f367c021-7514-463c-b8c2-44f1d9031a4b 813ea4854bca9a18365fae579c170cb980e9dda4 https://www.coupang.com/vp/products/65095217
바로 실행을 원한다면 하기 실행화일을 다운로드 하세요.
[실행화일]
[실행방법]
1.상기 화일을 다운로드 합니다.
2.여기서는 "C:\Users\Downloads"에 다운로드 했다고 가정하고, 윈도우키를 클릭 후 CMD 입력하고 실행합니다.
3. "cd C:\Users\Downloads"으로 다운로드한 폴더로 이동합니다.
4. Coupang_Short_URL [ACCESS KEY] [SECRET KEY] [변경 URL] 형식으로 입력하고 엔터를 누릅니다.
예시)Coupang_Short_URL XXXXX-7514-463c-CCCC-44fCCC031a4b CCCeaDDDDbca9a18365fae579c170cbDDDe9dda4 https://www.coupang.com/vp/products/65095217
5. 결과적으로 아래와 같은 결과를 얻게 됩니다. 해당 URL을 이용하면 검색누락을 피할 수 있습니다.
Pycharm에서 실행하기
import requests
import time
import os, sys
import hmac
# import hashlib
import json
import hashlib
import urllib
from urllib import parse
def Coupang_link(access_key, secret_key, link):
AD_LINK = Get_CoupangAPI_Deeplink(access_key, secret_key, link)
print(AD_LINK)
print("결과: 아래 URL을 복사하여 이용하세요.")
print(get_short_url(AD_LINK["data"][0]['landingUrl']))
def get_short_url(URL):
client_id = "NAVER Client ID"
client_secret = "NAVER Client Secret"
encText = urllib.parse.quote(URL)
data = "url=" + encText
url = "https://openapi.naver.com/v1/util/shorturl"
request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id",client_id)
request.add_header("X-Naver-Client-Secret",client_secret)
response = urllib.request.urlopen(request, data=data.encode("utf-8"))
rescode = response.getcode()
if(rescode==200):
response_body = response.read()
data = json.loads(response_body)
return data['result']['url']
else:
print("Error Code:" + rescode)
return URL
def Get_CoupangAPI_Deeplink(GET_ACCESS_KEY, GET_SECRET_KEY,REQUEST_URL):
REQUEST_METHOD = "POST"
DOMAIN = "https://api-gateway.coupang.com"
URL = "/v2/providers/affiliate_open_api/apis/openapi/v1/deeplink"
# Replace with your own ACCESS_KEY and SECRET_KEY
ACCESS_KEY = GET_ACCESS_KEY
SECRET_KEY = GET_SECRET_KEY
REQUEST = {"coupangUrls": [REQUEST_URL]}
def generateHmac(method, url, secretKey, accessKey):
path, *query = url.split("?")
os.environ["TZ"] = "GMT+0"
datetime = time.strftime('%y%m%d') + 'T' + time.strftime('%H%M%S') + 'Z'
message = datetime + method + path + (query[0] if query else "")
signature = hmac.new(bytes(secretKey, "utf-8"), message.encode("utf-8"), hashlib.sha256).hexdigest()
return "CEA algorithm=HmacSHA256, access-key={}, signed-date={}, signature={}".format(accessKey, datetime, signature)
authorization = generateHmac(REQUEST_METHOD, URL, SECRET_KEY, ACCESS_KEY)
url = "{}{}".format(DOMAIN, URL)
resposne = requests.request(method=REQUEST_METHOD, url=url,headers={
"Authorization": authorization,
"Content-Type": "application/json"
},
data=json.dumps(REQUEST)
)
return resposne.json()
Coupang_link('쿠팡ACCESS_KEY',
'쿠팡SECRET_KEY',
'URL')
반응형
'IT Tech & Knowledge' 카테고리의 다른 글
ChatGPT API 연동 티스토리 자동글쓰기 포스팅 해보기 (1/2) : 프로그램 포함 (0) | 2023.03.05 |
---|---|
SQL Query 연습을 위한 기본 준비 (0) | 2023.01.17 |
원격제어 프로그램 PARSEC 파섹 셋팅하기 : 언제나 원격제어 가능 (0) | 2022.10.08 |
구글코랩 - 구글의 클라우드에서 GPU를 무료로 사용하는 분석 (0) | 2021.04.12 |
실전에서 바로 사용하는 Oracle 정규 표현식 : REGEXP_REPLACE, REGEXP_SUBSTR을 위한 응용편 (0) | 2020.11.28 |
GeForce RTX 3080을 이용한 TensorFlow and NAMD 수행능력 (0) | 2020.10.13 |
깃허브 (GitHub) 사용법 (0) | 2020.10.11 |
GIT 설치하기 : 윈도우에서 바로 설치하기 (0) | 2020.10.10 |