从Podio应用程序中的字段获取外部ID

时间:2016-11-30 08:34:25

标签: php podio

我用不同的方法创建一个类来从Podio字段中获取值。 我的想法是创建一个能够从应用程序中获取X个字段的程序。并且应该可以在Podio应用程序中删除字段或创建新字段。 我已经创建了应用程序,但当我在Podio中进行一些更改时,程序不知何故停止从应用程序获取值。我认为问题在于这种方法。此方法应该获取字段的所有外部值,但是当我在Podio中更改应用程序时,该方法会停止获取其中的一些。 我希望这是有道理的。否则请向我询问更多详情。方法在这里:

public function getAllExternalIds(){

 // Get the first item of the app, only 1 item
  $items = PodioItem::filter($this->app_id,array('limit' => 1));

  // Create external_id array
  $exIds = array();
  // find all the external Ids of the item and put them in the array
   for($j=0;$j <count($items['items'][0]->fields) ;$j++){
   $exIds[$j] = $items['items'][0]->fields[$j]->external_id;       
  }
  //return the external Id array; 
  return $exIds;
}

此方法存在同样的问题:

public function getAllFieldNames(){
$items = PodioItem::filter($this->app_id,array('limit' => 1));

$fieldNames = [];
for($j=0;$j <count($items['items'][0]->fields) ;$j++){


 $fieldNames[$j] = $items['items'][0]->fields[$j]->label;


 }

 return $fieldNames;
 }

1 个答案:

答案 0 :(得分:1)

Podio是一个非常灵活的平台,您可以更改应用程序模板(字段列表)并保持现有项目不变,我担心这正是您所面临的。

让我们来看看它的例子:

  1. 有一个应用程序,我们将其称为“项目”,应用程序模板只有两个字段:“标题”和“截止日期”。
  2. 然后使用“标题”和“截止日期”字段创建1个项目。
  3. 然后您可以更改应用模板并添加“详细信息”字段并删除“截止日期”字段。
  4. 再创建1个项目。
  5. 然后您可以再次更改应用模板并删除它们 '标题'和'详细信息'字段并添加'负责'字段。
  6. 现在items_1有'标题'和'截止日期'字段,您的方法将获得这两个字段,而item_2有'标题'和'详细信息'字段,而应用模板实际上只有'负责'字段且不匹配没有一个。
  7. 因此,您应该使用https://developers.podio.com/doc/applications/get-app-22349方法来阅读当前的应用配置和设置。