1. import hashlib
    2. import requests
    3. import time
    4. from datetime import datetime
    5. # 替换 app_key, app_secret
    6. app_key = "1122233333444555"
    7. app_secret = "beddee55a0-reerw2452ff4-5deeweec2d7faf1"
    8. current_time = lambda: int(round(time.time()))
    9. timestamp = str(datetime.fromtimestamp(current_time()))
    10. param_json = "{\"page\":\"0\",\"size\":\"10\"}"
    11. method = "product.list"
    12. v = "2"
    13. def access_token(app_key, app_secret):
    14. url = "https://openapi-fxg.jinritemai.com/oauth2/access_token?app_id=" + app_key + "&app_secret=" + app_secret + "&grant_type=authorization_self"
    15. req = requests.get(url)
    16. return req.json()['data']['access_token']
    17. def sign(app_key, app_secret, timestamp):
    18. # 请按照顺序拼装 app_secret,app_key,method,param_json,timestamp,v,app_secret
    19. str = app_secret + "app_key" + app_key + "method" + method + "param_json" + param_json + "timestamp" + timestamp + "v" + v + app_secret
    20. # sha256
    21. code = hashlib.sha256(str.encode()).hexdigest()
    22. # md5
    23. # code = hashlib.md5(str.encode()).hexdigest()
    24. return code
    25. def testItem(app_key, app_secret):
    26. url = "https://openapi-fxg.jinritemai.com/product/list"
    27. token = access_token(app_key, app_secret)
    28. sign_code = sign(app_key, app_secret, timestamp)
    29. params = {
    30. "method": method,
    31. "app_key": app_key,
    32. "access_token": token,
    33. "param_json": param_json,
    34. "timestamp": timestamp,
    35. "v": v,
    36. "sign": sign_code,
    37. "sign_method": "hmac-sha256" # 如果 sign 算法类型是 md5, 这里需要输入 md5
    38. }
    39. req = requests.get(url=url, params=params)
    40. return req.status_code
    41. if __name__ == '__main__':
    42. print("access_token: '{}'".format(access_token(app_key, app_secret)))
    43. print("sign: '{}'".format(sign(app_key, app_secret, timestamp)))
    44. print("sign test status: '{}'".format(testItem(app_key, app_secret)))