电子说
1、打开卖家的后台,打开设置
2、将页面翻到最底部,然后打开api密钥管理
3、账号分两个,一个是生产环境,一个是沙盒环境(测试环境),切记,无论什么环境,都有调用的次数限制(有些接口没有限制,比如获取授权token),具体是多少我也不清楚,每一个店铺账号都不一样,需要问客服
4、然后我们要复制一下【ClientID】和【ClientSecret】,【ClientSecret】需要打开控制台进行复制,打开控制台后定位到【ClientSecret】位置,在html代码里复制,如果还不会操作,评论里问一下。
5、python代码直接演示,把刚刚复制的内容粘贴进去即可请求
【附上代码】
import base64
import requests
import uuid
import json
# 获取 Basic Authorization
def get_authorization(client_secret, client_id):
'''
:param client_secret: Client Secret
:param client_id: Client ID
:return: 将 Client ID 和 Client Secret 经过base64加密,获取Basic Authorization 头部授权信息
'''
credentials = f"{client_id}:{client_secret}"
encoded_credentials = base64.b64encode(credentials.encode('utf-8')).decode('utf-8')
return f"Basic {encoded_credentials}"
# 获取生产环境Token
def get_production_access_token(authorization, shop_settings):
'''
:param authorization: Basic Authorization 头部授权信息
:param shop_settings: 字典格式 {'account_name': 'xiaoming'} account_name 指向用你的沃尔玛账号名称
:return: {"access_token":"eyJraWQiOiIyZTBh......“,"token_type":"Bearer","expires_in":900}
'''
# 设置请求头
headers = {
"Authorization": authorization,
"WM_SVC.NAME": shop_settings['account_name'],
"WM_QOS.CORRELATION_ID": str(uuid.uuid4()), # UUID要随机
"Content-Type": "application/x-www-form-urlencoded",
"Accept": "application/json"
}
try:
# https://marketplace.walmartapis.com/v3/token 生产环境
# https://sandbox.walmartapis.com/v3/token # 测试环境
# 发起 POST 请求
response = requests.post(
url="https://marketplace.walmartapis.com/v3/token",
headers=headers,
data="grant_type=client_credentials"
)
# 打印响应信息(调试用)
print("响应状态码:", response.status_code)
print("响应文本:", response.text)
if response.status_code != 200:
raise Exception(f"请求失败,状态码: {response.status_code}")
# 解析返回的 JSON 数据
response_data = json.loads(response.text)
access_token = response_data.get("access_token")
if not access_token:
raise Exception("获取 Token 失败")
print(f"生成的 Token: {access_token}")
return access_token
except Exception as e:
print(f"获取生产环境 Token 异常: {str(e)}")
return None
# 示例调用
shop_settings = {
'account_name': 'xxxxxxx' # 你的沃尔玛账号名称 或者自定义 比如:zhangfei
}
# 替换为你的 Client ID 和 Client Secret
ClientID = "xxxxx-xxx-xxx-8e31-xxxxxxxx"
ClientSecret = "UxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxWWg"
authorization = get_authorization(ClientSecret, ClientID)
token = get_production_access_token(authorization, shop_settings)
# 输出 token
print(f"生产环境的 Access Token: {token}")
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !