2017-02-21 4 views
1

Я использую клиентскую библиотеку Podio dot net, я хотел бы получить элементы в приложении (которое я могу), но этот возвращенный элемент со всеми полями. Я бы хотел, чтобы ответ возвращал только определенные поля. Как я могу это достичь?Клиентская библиотека Podio dotnet фильтрует элементы с минимальным возвратом поля

Это то, что я получил до сих пор:

PodioCollection<PodioAPI.Models.Item> podioCollection =podio.ItemService.FilterItems(Settings.Default.PodioAppId) // PodioAppId is the appID. 

Это возвращенные детали со всеми полями в нем, я хотел бы, чтобы ограничить результирующий набор только содержать определенные поля или возвращать микро вида, как упоминание здесь

How to get the Podio APP response detail level mini, micro or short?

Я скачал источник точечной чистой библиотеки и модифицированный фильтр Funtions взять мою строку запроса. И тогда я попытался прохождения следующих строк

запроса

Edit:

?fields=app.view(full) 

?fields=app.view(micro) 

?fields=app.view(mini) 

?fields=items.view(full) 

?fields=items.view(micro) 

**?fields=items.view(mini)**

для мини пунктов вид я увидел, что никаких полей не возвращаются, но для everyother называют это посылаемой назад все поля. Ни один из них не является тем, чем я занимаюсь.

public async Task<PodioCollection<Item>> FilterItems(int appId, FilterOptions filterOptions, bool includeFiles = false, string queryString = null) 
     { 
      filterOptions.Limit = filterOptions.Limit == 0 ? 30 : filterOptions.Limit; 
      string url = string.Format("/item/app/{0}/filter/", appId); 
      if (includeFiles) 
      { 
       url = url + "?fields=items.fields(files)"; 
      } 
      if (!string.IsNullOrEmpty(queryString)) 
      { 
       url = url + queryString; 
      } 
      return await _podio.Post<PodioCollection<Item>>(url, filterOptions); 
     } 

Благодаря

+0

Просьба [Minimal, полный и проверяемый примера] (http://stackoverflow.com/help/mcve) для того, чтобы проверить, что именно вам нужно – Sam

+0

Вы должны прочитать [спросить]. Кроме того, мы не здесь, чтобы делать код для вас. Пожалуйста, пойдите сами - и когда вы застряли, покажите свой код - тогда мы сможем помочь. – Enigmativity

+0

Очень умный, может быть, вы найдете что-то ушедшее .... – snit80

ответ

1

Вы можете использовать поля параметр для этого. Возможные значения были упомянуты здесь: Can podio's api filter item response with only a mini detail level for each item?

Вы, вероятно, следует использовать filterOptions переменную из FilterItems метода: https://github.com/podio/podio-dotnet/blob/master/Source/Podio%20.NET/Services/ItemService.cs#L256-L264

Для случайного приложение, которое я пробовал это, для различных items.view() я получаю разные количество возвращенных полей/атрибутов.

fields=items.view(full) => result['items'][0].length: 26 
fields=items.view(short) => result['items'][0].length: 19 
fields=items.view(mini) => result['items'][0].length: 10 
fields=items.view(micro) => result['items'][0].length: 5 
+0

Это не работает. Должен ли я настроить что-то в Podio – snit80

+0

Не могли бы вы объяснить, как он не работает, что вы пробовали и какие результаты вы получили? –

+0

Я отредактировал мой вопрос. Пожалуйста, посмотрите – snit80

Смежные вопросы