Podio API - C# - 获取应用程序或空间的所有项目数据

时间:2016-09-14 01:30:50

标签: c# podio

我们在每个工作区都有一个名为“Deliverables”的应用程序(大约有20多个工作区)。这些交付物中的每一个都有许多项目。什么是用于检索的最佳API,

  1. 所有工作区的所有可交付成果
  2. 所有可交付成果下的所有项目,来自所有工作区
  3. 由于

3 个答案:

答案 0 :(得分:2)

示例的替代方式
- 获取用户有权访问的所有应用 - 循环应用程序并获取项目(也不要忘记处理偏移和限制)

使用的文件:
https://developers.podio.com/doc/applications/get-all-apps-5902728 https://developers.podio.com/doc/items/filter-items-4496747

很抱歉,但是示例是使用Ruby而不是C#。主要思想将保持不变,并且不依赖于所使用的编程语言:)

begin
  Podio.client.authenticate_with_credentials(login, password)
  apps = Podio::Application.find_all_for_current_user({'text' => 'Deliverables'})
  apps.select! {|app| app.name == 'Deliverables'}                 # select only full name match
  apps.select! {|app| app.status == 'active'}                     # filter out inactive (archived) apps
  options = {'limit' => 30, 'offset' => 0}
  filter = {:last_edit_on => {:from => '-7d', :to => '+0d'}}      # as example, work with most recent items only
  apps.each do |app|
    puts "Working with app: '#{app.config['name']}' from workspace_id #{app.space_id}"
    all_found_items = []
    result = Podio::Item.find_by_filter_values(app.app_id, filter, options)
    puts "Found #{result.count} items matching filter #{filter}"
    all_found_items += result.all

    while all_found_items.length < result.count
      options['offset'] = all_found_items.length
      result = Podio::Item.find_by_filter_values(app.app_id, filter, options)
      all_found_items += result.all
    end

    all_found_items.each_with_index do |item, i|
      puts "\t#{i+1}: #{item.title}"
    end

  end

rescue Podio::PodioError => ex
  puts ex
end

答案 1 :(得分:1)

  1. 获取所有组织
    https://developers.podio.com/doc/organizations/get-organizations-22344 这将为您提供与用户关联的所有ORG_ID。 选择要处理ORG的ORG_ID,或者循环使用所有ORG。

  2. 获取所有工作空间
    https://developers.podio.com/doc/spaces/get-list-of-organization-workspaces-238875316将返回特定ORG_ID

  3. 的工作空间列表
  4. 循环工作区以获取应用程序
    https://developers.podio.com/doc/applications/get-app-by-org-label-space-label-and-app-label-91708386

  5. 从应用中获取项目
    https://developers.podio.com/doc/items/filter-items-4496747最终将为您提供应用中的项目(再次需要在循环中)

  6. 您还可以尝试其他方式:
    *获取用户有权访问的所有应用 https://developers.podio.com/doc/applications/get-all-apps-5902728
    *循环应用程序并获取项目
    https://developers.podio.com/doc/items/filter-items-4496747

答案 2 :(得分:-1)

首先获取所有工作空间,然后获取每个工作空间的所有应用程序。然后你可以在Podio C#客户端库中使用`ItemService.FilterItems'方法来获取应用程序中的所有项目。