通过POST请求调用Unity Analytics接口返回401未授权错误问题咨询
Unity Analytics原始数据导出401错误解决方案
常见触发原因
你截图中的API Key获取位置是正确的,Unity原始分析数据导出对应的密钥就是该位置的「Raw Data Export Key」,出现401错误通常为以下几种情况:
- 项目未开通Raw Data Export权限:该功能仅对Unity Pro、Enterprise订阅用户开放,未开通服务的情况下即使凭据正确也会返回401
- 密钥复制异常:复制API Key时不小心带入了前后空格、换行符,导致校验失败
- 代码传参格式不符合要求
修正后的代码
你原有代码中手动序列化JSON、手动设置请求头的写法可以简化,requests库的json参数会自动完成序列化和请求头配置,修改后代码如下:
import requests from requests.auth import HTTPBasicAuth def request_raw_analytics_dump(unity_project_id, unity_api_key, start_date, end_date, dump_format, data_set, continue_from=None): uri = f'https://analytics.cloud.unity3d.com/api/v2/projects/{unity_project_id}/rawdataexports' post_body = {'endDate': end_date, 'format': dump_format, 'dataset': data_set} if continue_from is not None: post_body['continueFrom'] = continue_from else: post_body['startDate'] = start_date r = requests.post( uri, json=post_body, auth=HTTPBasicAuth(unity_project_id, unity_api_key) ) print(f'status: {r.status_code}') # 调试时可打开下方注释,查看返回的具体错误信息 # print(r.text) if r.status_code == 200: return r.json()['id'] return None
排查步骤
- 先确认当前Unity账号的订阅等级,确认对应项目已经开通Raw Data Export功能
- 点击Unity Dashboard中密钥旁的官方复制按钮获取API Key,避免手动框选复制带入多余字符
- 打开代码中的返回体打印注释,查看401响应的具体提示内容,可直接定位是凭据无效还是权限不足
- 确认没有误用其他Unity服务的API密钥,仅当前页面获取的Raw Data Export Key可用于该接口调用
内容的提问来源于stack exchange,提问作者Wolfik
相关产品推荐
相关产品推荐

