如何解决EUIPO API获取Bearer Token时的404及未授权错误?
解决EUIPO API获取Bearer Token的404/未授权问题
一、生产环境404错误的核心原因:Token端点URL错误
你当前使用的https://auth.euipo.europa.eu/oidc/accessToken是无效的旧端点,EUIPO的OpenID Connect Token正确生产环境地址为:https://auth.euipo.europa.eu/auth/realms/euipo/protocol/openid-connect/token
二、沙箱环境未授权问题的排查方向
- 沙箱环境需要单独注册应用,不能直接复用生产环境的
client_id和client_secret,必须到沙箱开发者后台创建专属应用并获取对应凭证 - 沙箱的Token端点与生产环境不同,正确地址是:
https://sandbox-auth.euipo.europa.eu/auth/realms/euipo-sandbox/protocol/openid-connect/token - 确认沙箱应用状态为已激活,且权限配置包含商标数据库访问的相关权限
三、修正后的代码示例
生产环境版本:
import requests url = "https://auth.euipo.europa.eu/auth/realms/euipo/protocol/openid-connect/token" payload = { 'client_id': '你的生产环境client_id', 'client_secret': '你的生产环境client_secret', 'grant_type': 'client_credentials' } headers = { 'Content-Type': 'application/x-www-form-urlencoded' } response = requests.post(url, data=payload, headers=headers) print("Status Code:", response.status_code) print("Response Text:", response.text)
沙箱环境版本:
import requests url = "https://sandbox-auth.euipo.europa.eu/auth/realms/euipo-sandbox/protocol/openid-connect/token" payload = { 'client_id': '你的沙箱环境client_id', 'client_secret': '你的沙箱环境client_secret', 'grant_type': 'client_credentials' } headers = { 'Content-Type': 'application/x-www-form-urlencoded' } response = requests.post(url, data=payload, headers=headers) print("Status Code:", response.status_code) print("Response Text:", response.text)
四、额外检查项
- 确认
client_id和client_secret无复制错误,比如多余空格、大小写偏差或特殊字符未正确处理 - 检查你的EUIPO应用是否已通过审核并处于可用状态
- 排查网络环境是否有代理或防火墙拦截请求,导致无法连接EUIPO认证服务器
内容的提问来源于stack exchange,提问作者Andres Beregovich
相关产品推荐
相关产品推荐

