Я пытаюсь отобразить подписку из REST API управления Azure API. Согласно документации , я должен иметь возможность указать параметр $filter
в строке запроса, однако мне не ясно, в каком формате должна быть строка фильтра, и примеры невелики, если не сказать больше.
Вот мой код:
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(baseUrl);
client.DefaultRequestHeaders.Add("Authorization", _azureApiManagementFunctions.CreateSharedAccessToken());
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("text/json"));
string filter = "ownerId eq " + "/users/" + user.Id; //this is likely where the issue is
response = await client.GetAsync("/subscriptions" + "?api-version=" + apiVersion + "&$filter=" + filter);
var contents = await response.Content.ReadAsStringAsync();
var contentsJson = JsonConvert.DeserializeObject<ApimSubscription>(contents);
};
Я получаю сообщение об ошибке:
"{\"error\":{\"code\":\"ValidationError\",\"message\":\"Invalid filter clause specified: 'ownerId eq /users/[removed]'.\",\"details\":null}}"
Я также попытался установить фильтр на "ownerId eq " + user.userId
.
Так что мой вопрос: кто-нибудь использовал параметр фильтра, подобный этому, и есть ли у вас предложения о том, как я могу получить подписку (и) для одного пользователя?