list method
Lists goals to which the user has access.
Request parameters:
accountId - Account ID to retrieve goals for. Can either be a specific
account ID or '~all', which refers to all the accounts that user has
access to.
webPropertyId - Web property ID to retrieve goals for. Can either be a
specific web property ID or '~all', which refers to all the web properties
that user has access to.
profileId - View (Profile) ID to retrieve goals for. Can either be a
specific view (profile) ID or '~all', which refers to all the views
(profiles) that user has access to.
maxResults - The maximum number of goals to include in this response.
startIndex - An index of the first goal to retrieve. Use this parameter
as a pagination mechanism along with the max-results parameter.
$fields - Selector specifying which fields to include in a partial
response.
Completes with a Goals.
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<Goals> list(
  core.String accountId,
  core.String webPropertyId,
  core.String profileId, {
  core.int? maxResults,
  core.int? startIndex,
  core.String? $fields,
}) async {
  final queryParams_ = <core.String, core.List<core.String>>{
    if (maxResults != null) 'max-results': ['${maxResults}'],
    if (startIndex != null) 'start-index': ['${startIndex}'],
    if ($fields != null) 'fields': [$fields],
  };
  final url_ =
      'management/accounts/' +
      commons.escapeVariable('$accountId') +
      '/webproperties/' +
      commons.escapeVariable('$webPropertyId') +
      '/profiles/' +
      commons.escapeVariable('$profileId') +
      '/goals';
  final response_ = await _requester.request(
    url_,
    'GET',
    queryParams: queryParams_,
  );
  return Goals.fromJson(response_ as core.Map<core.String, core.dynamic>);
}