You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python调用OVH API“This call has not been granted”错误求助

解决OVH API调用权限错误:This call has not been granted

问题排查与解决步骤

1. 先修正Project ID的拼写错误

你的代码里project_id = 'project_id '末尾多了个空格,这会导致请求路径变成/cloud/project/project_id /image,匹配的是不存在的项目,直接触发权限错误。先把空格去掉:

project_id = 'project_id'  # 移除末尾多余空格

2. 验证Consumer Key的权限范围

控制台能正常调用说明接口本身没问题,大概率是你的Consumer Key未获取该接口的权限:

  • 登录OVH后台,找到对应API应用的Consumer Key管理页面
  • 查看权限列表,确认是否包含GET /cloud/project/{你的实际项目ID}/image的权限(也可以用通配符GET /cloud/project/*/image覆盖所有项目)
  • 如果权限缺失,重新生成Consumer Key,生成时务必勾选该接口的GET权限

3. 确认Endpoint与参数一致性

  • 代码使用的是ovh-eu,确保你在API.OVH.com控制台测试时选择的也是EU区域
  • 代码中指定了region='SBG5',控制台测试时也要传入相同的region参数,或者尝试去掉代码里的region参数再测试

修正后的示例代码

import json                                                         
import ovh

client = ovh.Client(
    endpoint='ovh-eu',
    application_key='你的application_key',                                              
    application_secret='你的application_secret',                                
    consumer_key='你的consumer_key',                          
)

# 注意:移除project_id末尾的空格
project_id = '你的实际project_id'                             

try:
    result = client.get(
        f'/cloud/project/{project_id}/image',  # 用f-string拼接路径更清晰,避免拼接错误
        flavorType=None,
        osType=None,
        region='SBG5'
    )
    print(json.dumps(result, indent=4))
    
except ovh.APIError as e:
    print(f"OVH API Error: {str(e)}")
    print(f"OVH Query ID: {e.response.headers.get('X-Ovh-Queryid')}")

内容的提问来源于stack exchange,提问作者deko bobos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 14:55:05