2017-01-01 10 views
2

私はAPIの新機能です.PODIOリンクhereのPHPクライアントを使用しています。 。PODIO php APIコール、アプリケーションIDでフィルタを使用してすべてのアイテムフィールド値の配列オフセットを取得

PodioItem::get_basic(item_id)を使用した場合、この項目は関連する値を取得しますが、すべての項目のすべての項目値を取得したいので、アプリケーションIDでフィルタを使用しました。エラーが発生しましたUndefined property: PodioItemCollection::$fields

<?php 

require_once '/PodioAPI.php'; 

$client_id = "xxxx"; 
$client_secret = "xxxx"; 
$app_id = xxxx; 
$app_token = "xxxx"; 

Podio::setup($client_id, $client_secret); 
Podio::authenticate_with_app($app_id, $app_token); 

$item = PodioItem::filter($app_id); 
$field_id = 'dashboard-link-2'; 
$collection = $item->fields[$field_id]->values; 

foreach ($collection as $embed) { 
    print "Embed id: ".$embed->embed_id."<br>"; 
    print "Embed URL: ".$embed->original_url."<br>"; 
} 

ここprint $item->as_json(true)を使用してJSON形式でのAPPで利用可能な2つの項目で完全な応答があります。私はfor eachをすべてのフィールドで行い、その値をJSONの最後の部分で行いたいと思います。

{ 
    "item_id":535780740, 
    "title":"test", 
    "link":"https:\/\/podio.com\/trackzen\/", 
    "rights":[ 
     "view", 
     "comment", 
     "rate", 
     "add_task", 
     "add_file", 
     "update", 
     "add_conversation", 
     "subscribe" 
    ], 
    "created_on":"2016-12-26 05:58:59", 
    "app_item_id_formatted":"2", 
    "app_item_id":2, 
    "ratings":{ 
     "like":{ 
     "average":null, 
     "counts":{ 
      "1":{ 
       "total":0, 
       "users":[ 

       ] 
      } 
     } 
     } 
    }, 
    "last_event_on":"2016-12-30 10:47:34", 
    "comment_count":3, 
    "created_by":{ 
     "type":"user", 
     "id":3584284, 
     "avatar_type":"file", 
     "avatar_id":250835059, 
     "image":{ 
     "hosted_by":"podio", 
     "hosted_by_humanized_name":"Podio", 
     "external_file_id":null, 
     "link_target":"_blank" 
     }, 
     "name":"Marlon" 
     "url":"https:\/\/podio.com\/users 
     "avatar":250835059 
    }, 
    "created_via":{ 
     "id":1, 
     "auth_client_id":1, 
     "name":"Podio", 
     "display":false 
    }, 
    "initial_revision":{ 
     "created_on":"2016-12-26 05:58:59", 
     "created_by":{ 
     "type":"user", 
     "id":3584284, 
     "avatar_type":"file", 
     "avatar_id":250835059, 
     "image":{ 
      "hosted_by":"podio", 
      "hosted_by_humanized_name":"Podio", 
      "file_id":250835059, 
      "external_file_id":null, 
      "link_target":"_blank" 
     }, 
     "name":"Marlon", 
     "url":"https:\/\/podio.com\/users\/", 
     "avatar":250835059 
     }, 
     "created_via":{ 
     "id":1, 
     "auth_client_id":1, 
     "name":"Podio", 
     "display":false 
     } 
    }, 
    "current_revision":{ 
     "revision":13, 
     "created_on":"2016-12-30 10:47:34", 
     "created_by":{ 
     "type":"user", 
     "id":3584284, 
     "avatar_type":"file", 
     "avatar_id":250835059, 
     "image":{ 
      "hosted_by":"podio", 
      "hosted_by_humanized_name":"Podio", 

      "external_file_id":null, 
      "link_target":"_blank" 
     }, 
     "name":"Marlon", 
     "url":"https:\/\/podio.com\/users\", 
     "avatar":250835059 
     }, 
     "created_via":{ 
     "id":1, 
     "auth_client_id":1, 
     "name":"Podio", 
     "display":false 
     } 
    }, 
    "fields":{ 
     "title":"test", 
     "service":[ 
     536114669 
     ], 
     "dashboard-link-2":[ 
     { 
      "embed":156461816, 
      "file":null 
     } 
     ], 
     "text":" 
TEST 
<\/p>", 
     "action":[ 
     1 
     ], 
     "deliverables":[ 
     536600856 
     ] 
    } 
}{ 
    "item_id":535312848, 
    "title":"Test Dashboard", 
    "rights":[ 
     "view", 
     "comment", 
     "rate", 
     "add_task", 
     "add_file", 
     "update", 
     "add_conversation", 
     "subscribe" 
    ], 
    "created_on":"2016-12-24 09:25:08", 
    "app_item_id_formatted":"1", 
    "app_item_id":1, 
    "ratings":{ 
     "like":{ 
     "average":null, 
     "counts":{ 
      "1":{ 
       "total":0, 
       "users":[ 

       ] 
      } 
     } 
     } 
    }, 
    "last_event_on":"2016-12-28 12:37:26", 
    "comment_count":23, 
    "created_by":{ 
     "type":"user", 
     "id":3584284, 
     "avatar_type":"file", 
     "avatar_id":250835059, 
     "image":{ 
     "hosted_by":"podio", 
     "hosted_by_humanized_name":"Podio",, 
     "file_id":250835059, 
     "external_file_id":null, 
     "link_target":"_blank" 
     }, 
     "name":"Marlon", 
     "url":"https:\/\/podio.com", 
     "avatar":250835059 
    }, 
    "created_via":{ 
     "id":1, 
     "auth_client_id":1, 
     "name":"Podio", 
     "display":false 
    }, 
    "initial_revision":{ 
     "created_on":"2016-12-24 09:25:08", 
     "created_by":{ 
     "type":"user", 
     "id":3584284, 
     "avatar_type":"file", 
     "avatar_id":250835059, 
     "image":{ 
      "hosted_by":"podio", 
      "hosted_by_humanized_name":"Podio", 
      "external_file_id":null, 
      "link_target":"_blank" 
     }, 
     "name":"Marlon", 
     "url":"https:\/\/podio.com\/users\/", 
     "avatar":250835059 
     }, 
     "created_via":{ 
     "id":1, 
     "auth_client_id":1, 
     "name":"Podio", 
     "display":false 
     } 
    }, 
    "current_revision":{ 
     "revision":6, 
     "created_on":"2016-12-28 12:37:26", 
     "created_by":{ 
     "type":"user", 
     "id":3584284, 
     "avatar_type":"file", 
     "avatar_id":250835059, 
     "image":{ 
      "hosted_by":"podio", 
      "hosted_by_humanized_name":"Podio", 
      "thumbnail_link":"https:\/\/d2cmuesa4snpwn.cloudfront.net\/public\/", 
      "link":"https:\/\/d2cmuesa4snpwn.cloudfront.net\/public\/", 
      "file_id":250835059, 
      "external_file_id":null, 
      "link_target":"_blank" 
     }, 
     "name":"Marlon", 
     "url":"https:\/\/podio.com\/users\/", 
     "avatar":250835059 
     }, 
     "created_via":{ 
     "id":1, 
     "auth_client_id":1, 
     "name":"Podio", 
     "display":false 
     } 
    }, 
    "fields":{ 
     "title":"Test Dashboard", 
     "service":[ 
     535311650, 
     536114669 
     ], 
     "dashboard-link-2":[ 
     { 
      "embed":155910622, 
      "file":null 
     } 
     ], 
     "action":[ 
     1 
     ], 
     "deliverables":[ 
     535312645, 
     535312468, 
     535312239, 
     535312097, 
     535311935, 
     536114763, 
     536114718 
     ] 
    } 
} 

答えて

0

あなたが探しているものに等しいexternal_idでフィールドを見つけるために、フィールドの配列を反復処理したいと思うでしょう。

$collection = [] 
foreach ($item->fields as $field) { 
    if ($field->external_id == "dashboard-link-2") { 
    $collection = $field->values; 
    } 
} 

編集#2:ドキュメントを見ていたら、私のコードは、別の/古いバージョンのためであるそれはあなたがexternal_id == 'dashboard-link-2'

編集#1を追加しました例でフィールドを探しているように見えますとしょうかん。申し訳ありません

+0

こんにちはジェイ、あなたの答えをありがとう! '$ item-> fields [$ field_id]' – MarlZ15199

+0

@ MarlZ15199の 'dashboard-link-2'には' embed_id'がありません。それは問題ですか? –

+0

それは、私は結果を取得しているfilterbyitemid関数を使用する場合、私はfilterbyappIDを使用した場合、私は結果を得ていない。あなたが提供したコードを試しましたが、これは以下の通りです。それは、 'Undefined property:PodioItemCollection :: $ fields'というエラーが発生しました。 '$ items = PodioItem :: filter($ app_id); $ field_id = 'dashboard-link-2'; foreach($ items-> fields with $ field){ if($ field-> external_id == "ダッシュボードリンク-2"){ $ collection = $ field-> values; } } ' – MarlZ15199

関連する問題