Песочница Shopee API: error_sign даже при правильном идентификаторе тестового партнера и партнерском ключеPython

Программы на Python
Anonymous
Песочница Shopee API: error_sign даже при правильном идентификаторе тестового партнера и партнерском ключе

Сообщение Anonymous »

Я пытаюсь интегрироваться с Shopee Partner API (среда песочницы), но всегда получаю ответ error_sign, даже несмотря на то, что использую свой идентификатор тестового партнера и ключ партнера тестового API из консоли разработчика.
Ссылка на документацию: https://open.shopee.com/developer-guide/20
В настоящее время ссылка перенаправления — это всего лишь пример, но она должна иметь возможность получить ожидаемый параметр из URL-адреса ответа.

Код: Выделить всё

import hmac
import json
import time
import requests
import hashlib

def shop_auth():
timest = int(time.time())
host = "https://partner.test-stable.shopeemobile.com"
path = "/api/v2/shop/auth_partner"
redirect_url = "https://www.baidu.com/"
partner_id = 117...
tmp = "shpk7262645a54484f5375737a427378534a4f74715449414f..."
partner_key = tmp.encode()
tmp_base_string = "%s%s%s" % (partner_id, path, timest)
base_string = tmp_base_string.encode()
print("base String:"+tmp_base_string)
sign = hmac.new(partner_key, base_string, hashlib.sha256).hexdigest()
##generate api
url = host + path + "?partner_id=%s&timestamp=%s&sign=%s&redirect=%s" % (partner_id, timest, sign, redirect_url)
print(url)

shop_auth()
Вот ответ, который я получаю:
пример того, что генерирует код:

Код: Выделить всё

https://partner.test-stable.shopeemobile.com/api/v2/shop/auth_partner?partner_id=117...&timestamp=1756625875&sign=dd0ee43c2cfe58ca4b75758a62892809e83b8300b129d1cf9be64a27f51559ae&redirect=https://www.baidu.com/
Ответ:

Код: Выделить всё

{"error":"error_sign","message":"Wrong sign.","request_id":"e3e3e7f33da4557d60e9389bfe89dc01"}
Просматривая некоторые старые сообщения, я заметил, что их Partner_key не начинается с shpk, поэтому я не уверен, нужно ли мне еще фильтровать ключ?
Иначе я не уверен, что я пропустил, чтобы сгенерировать правильный знак для URL-адреса.>

Вернуться в «Python»