我想获取资源组下的配置文件列表(azure rest api)
我可以通过页面上的“尝试”获得正确的响应:
但是当我用相同的参数通过代码请求它时,我只得到'{“value”:[]}'。代码为:
string url = $"https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles?api-version=2023-05-01";
using HttpClient httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
try
{
HttpResponseMessage response = await httpClient.GetAsync(url);
if (response.IsSuccessStatusCode)
{
string responseBody = await response.Content.ReadAsStringAsync();
return responseBody;
}
else
{
string errorContent = await response.Content.ReadAsStringAsync();
_logger.Info("Request failed: {0}, {1}", response.StatusCode, errorContent);
return "";
}
}
catch (Exception ex)
{
_logger.Error($"{ex.Message}: {ex.StackTrace}");
return "";
}
谁知道怎么解决?
谢谢你,谢谢
1条答案
按热度按时间mnowg1ta1#
从**
Try it
页面运行REST API调用时,查询基于登录**(委托)用户角色。我在**
Try it
页面查询REST API得到下面的response**:为了通过在代码中运行请求获得相同的结果,我创建了一个应用程序,并在订阅下分配了Reader角色,如下所示:
当我运行下面修改后的代码时,使用
Try it
页面中相同的参数,它生成了token作为服务主体,并返回了**相同的 API响应*,如下所示:回复:
在您的情况下,请检查您如何在代码中使用正确的RBAC角色生成访问令牌,并确保从
Try it
页面为 * 订阅ID* 和 * 资源组 * 参数传递相同的值。