list method
Returns the list of attributes that would be available for a location with the given primary category and country.
Request parameters:
categoryName - Optional. The primary category stable ID to find
available attributes. Must be of the format categories/{category_id}
(e.g., categories/gcid:restaurant). Required if parent is not set and
show_all is false.
languageCode - Optional. The BCP 47 code of language to get attribute
display names in. If this language is not available, they will be provided
in English.
pageSize - How many attributes to include per page. Default is 200,
minimum is 1.
pageToken - If specified, the next page of attribute metadata is
retrieved.
parent - Optional. Resource name of the location to look up available
attributes. If this field is set, category_name, region_code,
language_code and show_all are not required and must not be set.
Format: locations/{location_id} (e.g., locations/1234567890).
regionCode - Optional. The ISO 3166-1 alpha-2 country code to find
available attributes. Required if parent is not set.
showAll - Optional. If set to true, metadata for all available
attributes are returned, disregarding parent and category_name fields.
language_code and region_code are required when show_all is set to
true.
$fields - Selector specifying which fields to include in a partial
response.
Completes with a ListAttributeMetadataResponse.
Completes with a commons.ApiRequestError if the API endpoint returned an error.
If the used http.Client completes with an error when making a REST call,
this method will complete with the same error.
Implementation
async.Future<ListAttributeMetadataResponse> list({
core.String? categoryName,
core.String? languageCode,
core.int? pageSize,
core.String? pageToken,
core.String? parent,
core.String? regionCode,
core.bool? showAll,
core.String? $fields,
}) async {
final queryParams_ = <core.String, core.List<core.String>>{
'categoryName': ?categoryName == null ? null : [categoryName],
'languageCode': ?languageCode == null ? null : [languageCode],
'pageSize': ?pageSize == null ? null : ['${pageSize}'],
'pageToken': ?pageToken == null ? null : [pageToken],
'parent': ?parent == null ? null : [parent],
'regionCode': ?regionCode == null ? null : [regionCode],
'showAll': ?showAll == null ? null : ['${showAll}'],
'fields': ?$fields == null ? null : [$fields],
};
const url_ = 'v1/attributes';
final response_ = await _requester.request(
url_,
'GET',
queryParams: queryParams_,
);
return ListAttributeMetadataResponse.fromJson(
response_ as core.Map<core.String, core.dynamic>,
);
}