Testlink 1.9.11 API调用遇Invalid DevKey错误,请求协助解决
Testlink 1.9.11 API认证失败(2000: invalid developer key)解决办法
问题场景
使用Testlink 1.9.11版本,已按步骤生成API密钥,运行Python代码时返回如下错误:
raise testlinkerrors.TLResponseError(
testlink.testlinkerrors.TLResponseError: 2000: Can not authenticate client: invalid developer key
操作流程:
- 管理员账号登录,进入「我的设置」生成新密钥
- 已确认
$tlCfg->api->enabled = TRUE - 运行的Python代码:
TESTLINK_API_PYTHON_SERVER_URL="http://xxxxxxxx/testlink/lib/api/xmlrpc/v1/xmlrpc.php" TESTLINK_API_PYTHON_DEVKEY=["xxxxxxxx"] import testlink tls = testlink.TestlinkAPIClient(TESTLINK_API_PYTHON_SERVER_URL, TESTLINK_API_PYTHON_DEVKEY) print(tls.countProjects())
排查与解决步骤
1. 修正API密钥参数格式
代码中TESTLINK_API_PYTHON_DEVKEY使用了列表类型,但Testlink Python客户端要求传入字符串类型的密钥。修改代码:
TESTLINK_API_PYTHON_DEVKEY="xxxxxxxx" # 去掉方括号,直接传入纯字符串密钥
2. 验证API密钥的准确性
- 重新复制生成的密钥:确保没有包含前后空格、换行符,完全匹配「我的设置」界面显示的密钥内容
- 确认密钥归属:必须使用当前管理员账号生成的密钥,不要混用其他账号的密钥
3. 检查API端点URL是否正确
Testlink 1.9.11的XML-RPC API默认路径为/testlink/lib/api/xmlrpc.php,而非带v1的路径。尝试修改URL:
TESTLINK_API_PYTHON_SERVER_URL="http://xxxxxxxx/testlink/lib/api/xmlrpc.php"
4. 确认用户API权限
进入Testlink后台「用户管理」,找到当前管理员账号,检查是否勾选了允许使用API选项(部分版本中,即使是管理员也需要手动开启该权限)。
5. 服务器端配置二次确认
打开Testlink的config.inc.php文件,除了$tlCfg->api->enabled = TRUE,还要确保:
$tlCfg->api->requireDevKey = TRUE; # 开启密钥验证(默认开启,若关闭会跳过密钥检查,但不建议)
内容的提问来源于stack exchange,提问作者Ben Hmida
相关产品推荐
相关产品推荐

