如何从方形目录 API return 对象中提取特定字段?

How can I extract specific fields from the square Catalog API return object?

我想访问 Square Catalog API return 使用其 PHP SDK 的 return 对象的特定字段。我正在使用 listCatalog 选项,它 return 是显示所有项目和所有相应值的整个对象。但是,我需要做些什么才能进一步分解它以提取某些值,例如名称和 ID?

我尝试了不同的方法来深入研究对象并提取字段,例如:

$id = $result->getObjects()->getId()

但是,这会使程序崩溃。任何关于我做错了什么的想法将不胜感激。

$api_instance = new SquareConnect\Api\CatalogApi();
$cursor = ""; // string | The pagination cursor returned in the                                                                               previous response. Leave unset for an initial request. See [Pagination].    (/basics/api101/pagination) for more information.
$types = "Item,Item_Variation,Category"; // string | An optional case-insensitive, comma-separated list of object types to retrieve, for example `ITEM,ITEM_VARIATION,CATEGORY,IMAGE`.  The legal values are taken from the [CatalogObjectType](#type-catalogobjecttype) enumeration, namely `ITEM`, `ITEM_VARIATION`, `CATEGORY`, `DISCOUNT`, `TAX`, `MODIFIER`, `MODIFIER_LIST`, or `IMAGE`.

try {
    $result = $api_instance->listCatalog($cursor, $types);
    $id = $result->getObjects();
    print_r ($id);
} catch (Exception $e) {
    echo 'Exception when calling CatalogApi->listCatalog: ', $e-         >getMessage(), PHP_EOL;
}

listCatalog()函数returns一个CatalogObject的数组,所以需要像这样遍历所有返回的对象:

try {
   $result = $api_instance->listCatalog($cursor, $types);

   foreach ($result->getObjects() as $catalogObject) {
       // Here are all the getter functions you can use to access the data: https://github.com/square/connect-php-sdk/blob/master/lib/Model/CatalogObject.php#L101

       print_r($catalogObject->getId());
       print_r($catalogObject);
   } 
} catch (Exception $e) {
    echo 'Exception when calling CatalogApi->listCatalog: ', $e->getMessage(), PHP_EOL;
}