· 7 years ago · Mar 31, 2018, 08:26 PM
1import base64, random, hmac, hashlib, time
2from datetime import datetime
3from datetime import datetime, timedelta
4
5class naverApi:
6
7 def __init__(self, accessLicense, secretKey, service, operation):
8
9 self.secretKey = secretKey
10 self.accessLicense = accessLicense
11 self.operation = operation
12 self.service = service
13 self.time = self.getTime()
14
15 def getTime(self):
16
17 return datetime.utcnow().isoformat()[:-3] + 'Z' + str(random.randint(1000,9999)) #utc timezone (required)
18
19 def getTimeOneDay(self):
20
21 return (datetime.utcnow() + timedelta(hours=-24)).isoformat()[:-3] + 'Z' # returns time + one day
22
23 def getSigniture(self):
24
25 sign = str(self.time) + self.service + self.operation
26 crypt = hmac.new(self.secretKey.encode(), msg=sign.encode(), digestmod=hashlib.sha256).digest()
27 return base64.b64encode(crypt).decode()
28
29
30accessLicense = ''
31secretKey = ''
32service = '' #MallService5
33operation = ''#GetProductOrderInfoList
34
35initApi = naverApi(accessLicense, secretKey, service, operation)
36signature = initApi.getSigniture()
37getTime = initApi.time
38getTimeOneDay = initApi.getTimeOneDay() #one day later timestamp
39
40print('signature:'+signature,'timestamp:'+timestamp)