Goals: list

نیاز به مجوز دارد

اهدافی را که کاربر به آنها دسترسی دارد فهرست می کند. اکنون آن را امتحان کنید یا نمونه ای را ببینید .

علاوه بر پارامترهای استاندارد ، این روش از پارامترهای فهرست شده در جدول پارامترها پشتیبانی می کند.

درخواست

درخواست HTTP

GET https://www.googleapis.com/analytics/v3/management/accounts/accountId/webproperties/webPropertyId/profiles/profileId/goals

مولفه های

نام پارامتر ارزش شرح
پارامترهای مسیر
accountId string شناسه حساب برای بازیابی اهداف. می تواند یک شناسه حساب خاص یا ' ~all ' باشد، که به تمام حساب هایی که کاربر به آنها دسترسی دارد اشاره دارد.
profileId string مشاهده شناسه (نمایه) برای بازیابی اهداف. می‌تواند یک شناسه نما (نمایه) خاص یا «~all» باشد که به تمام نماها (نمایه‌هایی) که کاربر به آنها دسترسی دارد اشاره دارد.
webPropertyId string شناسه دارایی وب برای بازیابی اهداف. می تواند یک شناسه خاصیت وب خاص یا ' ~all ' باشد، که به تمام ویژگی های وب که کاربر به آنها دسترسی دارد اشاره دارد.
پارامترهای پرس و جو اختیاری
max-results integer حداکثر تعداد اهدافی که باید در این پاسخ گنجانده شود.
start-index integer شاخصی از اولین هدف برای بازیابی. از این پارامتر به عنوان مکانیزم صفحه بندی به همراه پارامتر max-results استفاده کنید.

مجوز

این درخواست به مجوز حداقل با یکی از حوزه های زیر نیاز دارد ( در مورد احراز هویت و مجوز بیشتر بخوانید ).

محدوده
https://www.googleapis.com/auth/analytics
https://www.googleapis.com/auth/analytics.edit
https://www.googleapis.com/auth/analytics.readonly

درخواست بدن

با این روش بدنه درخواستی ارائه نکنید.

واکنش

پاسخ مجموعه ای است که حاوی یک منبع هدف برای هر هدف درخواستی است.

{
  "kind": "analytics#goals",
  "username": string,
  "totalResults": integer,
  "startIndex": integer,
  "itemsPerPage": integer,
  "previousLink": string,
  "nextLink": string,
  "items": [
    management.goals Resource
  ]
}
نام ملک ارزش شرح یادداشت
kind string نوع مجموعه ارزش " analytics#goals " است.
username string شناسه ایمیل کاربر احراز هویت شده
totalResults integer تعداد کل نتایج برای پرس و جو، صرف نظر از تعداد منابع موجود در نتیجه.
startIndex integer شاخص شروع منابع که به طور پیش‌فرض 1 است یا توسط پارامتر جستجوی start-index مشخص می‌شود.
itemsPerPage integer حداکثر تعداد منابعی که پاسخ می تواند داشته باشد، صرف نظر از تعداد واقعی منابع برگشتی. مقدار آن از 1 تا 1000 با مقدار 1000 به طور پیش فرض متغیر است، یا در غیر این صورت توسط پارامتر query max-results مشخص شده است.
items[] list لیستی از اهداف

مثال ها

توجه: نمونه‌های کد موجود برای این روش همه زبان‌های برنامه‌نویسی پشتیبانی‌شده را نشان نمی‌دهند (برای فهرست زبان‌های پشتیبانی‌شده به صفحه کتابخانه‌های سرویس گیرنده مراجعه کنید).

جاوا

از کتابخانه سرویس گیرنده جاوا استفاده می کند.

/**
 * Note: This code assumes you have an authorized Analytics service object.
 * See the Goal Dev Guide for details.
 */

/**
 * Example #1:
 * This example requests a list of all goals for the authorized user.
 */
try {
  Goals goals = analytics.management.
      goals.list("12345", "UA-12345-1","523").execute();
} catch (GoogleJsonResponseException e) {
  System.err.println("There was a service error: "
      + e.getDetails().getCode() + " : "
      + e.getDetails().getMessage());
}


/**
 * Example #2:
 * Retrieves all goals for all views (profiles) for the user, using a
 * wildcard '~all' as the profile ID.
 */
Goals goals = analytics.management.goals.list("12345", "UA-12345-1",
    "~all").execute();

/**
 * Example #3:
 * The results of the list method are stored in the Goals object. The following
 * code shows how to iterate through them.
 */
for (Goal goal : goals.getItems()) {
  System.out.println("Account ID: " + goal.getAccountId());
  System.out.println("Property ID: " + goal.getWebPropertyId());
  System.out.println("Property Internal Id: "
      + goal.getInternalWebPropertyId());
  System.out.println("View (Profile) ID: " + goal.getId());

  System.out.println("Goal Number: " + goal.getId());
  System.out.println("Goal Name: " + goal.getName());
  System.out.println("Goal Value: " + goal.getValue());
  System.out.println("Is Goal Active: " + goal.getActive());
  System.out.println("Goal Type: " + goal.getType());

  System.out.println("Goal Created: " + goal.getCreated());
  System.out.println("Goal Updated: " + goal.getUpdated());

  if (goal.getUrlDestinationDetails() != null) {
    printGoalUrlDestinationDetails(goal.getUrlDestinationDetails());

  } else if (goal.getVisitTimeOnSiteDetails() != null) {
    printGoalVisitTimeOnSiteDetails(goal.getVisitTimeOnSiteDetails());

  } else if (goal.getVisitNumPagesDetails() != null) {
    printGoalVisitNumPagesDetails(goal.getVisitNumPagesDetails());

  } else if (goal.getEventDetails() != null) {
    printGoalEventDetails(goal.getEventDetails());
  }
}

/**
 * Example #4:
 * How to iterate through 'URL_DESTINATION' goals.
 */
private static void printUrlDestinationDetails(UrlDestinationDetails
    destinationDetails) {
  System.out.println("Goal Url: " + destinationDetails.getUrl());
  System.out.println("Case Sensitive: "
      +  destinationDetails.getCaseSensitive());
  System.out.println("Match Type: " +  destinationDetails.getMatchType());
  System.out.println("First Step Required: "
      + destinationDetails.getFirstStepRequired());

  if (destinationDetails.getSteps() != null) {
    System.out.println("Goal Steps: ");
    for (Steps step : destinationDetails.getSteps()) {
      System.out.println("Step Number: " + step.getNumber());
      System.out.println("Name: " + step.getName());
      System.out.println("URL: " + step.getUrl());
    }

  } else {
    System.out.println("No Steps Configured");
  }
}


/**
 * Example #5:
 * How to access a 'VISIT_TIME_ON_SITE' goal.
 */
private static void printVisitTimeOnSiteDetails(
    VisitTimeOnSiteDetails visitTimeOnSiteDetails) {

  System.out.println("Goal Type:  VISIT_TIME_ON_SITE");
  System.out.println("VISIT_TIME_ON_SITE - Comparison Type: "
      + visitTimeOnSiteDetails.getComparisonType());
  System.out.println("VISIT_TIME_ON_SITE - Comparison Value: "
      + visitTimeOnSiteDetails.getComparisonValue());
}


/**
 * Example #6:
 * How to access a 'VISIT_NUM_PAGES' goal.
 */
private static void printVisitNumPagesDetails(VisitNumPagesDetails
    visitNumPagesDetails) {
  System.out.println("Goal Type:  VISIT_NUM_PAGES");
  System.out.println("VISIT_NUM_PAGES - Comparison Type: "
      +  visitNumPagesDetails.getComparisonType());
  System.out.println("VISIT_NUM_PAGES - Comparison Value: "
      +  visitNumPagesDetails.getComparisonValue());
}


/**
 * Example #7:
 * How to iterate through 'EVENT' goals.
 */
private static void printGoalEventDetails(EventDetails eventDetails) {
  System.out.println("EVENT - Use Event Value: "
      + eventDetails.getUseEventValue());

  if (eventDetails.getEventConditions() != null) {
    System.out.println("Goal Conditions: ");
    for (EventConditions conditions : eventDetails.getEventConditions()) {
      System.out.println("Type: " + conditions.getType());

      if (conditions.getType().equals("VALUE")) {
        System.out.println("Comparison Type: "
            + conditions.getComparisonType());
        System.out.println("Comparison Value: "
            + conditions.getComparisonValue());
      } else {
        System.out.println("matchType: " + conditions.getMatchType());
        System.out.println("expression: " + conditions.getExpression());
      }
    }
  }
}

PHP

از کتابخانه مشتری PHP استفاده می کند.

/**
 * Note: This code assumes you have an authorized Analytics service object.
 * See the Goal Developer Guide for details.
 */

/**
 * Example #1:
 * Requests goals for a single view (profile).
 */
try {
  $goals = $analytics->management_goals->listManagementGoals('123456',
      'UA-123456-1',
      '7654321');

} catch (apiServiceException $e) {
  print 'There was an Analytics API service error '
      . $e->getCode() . ':' . $e->getMessage();

} catch (apiException $e) {
  print 'There was a general API error '
      . $e->getCode() . ':' . $e->getMessage();
}


/**
 * Example #2:
 * Retrieves all goals for all views (profiles) for the authorized user, using a
 * wildcard '~all' as the view (profile) ID.
 */
$goals = $analytics->management_goals->listManagementGoals('123456',
    'UA-123456-1',
    '~all');


/**
 * Example #3:
 * The results of the list method are stored in the goals object. The following
 * code shows how to iterate through them.
 */
foreach ($goals->getItems() as $goal) {

  $html = <<<HTML
<pre>
Account id           = {$goal->getAccountId()}
Property id          = {$goal->getWebPropertyId()}
Internal property id = {$goal->getInternalWebPropertyId()}
View (profile) id    = {$goal->getProfileId()}
Goal id              = {$goal->getId()}
Goal name            = {$goal->getName()}
Goal value           = {$goal->getValue()}
Goal active          = {$goal->getActive()}
Goal created         = {$goal->getCreated()}
Goal updated         = {$goal->getUpdated()}
Goal type            = {$goal->getType()}
HTML;

  // Check for the various types of Goals.
  $type = $goal->getType();
  if ($type == 'URL_DESTINATION') {
    $details = $goal->getUrlDestinationDetails();

    $html .=<<<HTML
Goal URL            = {$details->getUrl()}
Case sensitive      = {$details->getCaseSensitive()}
Match type          = {$details->getMatchType()}
First step required = {$details->getFirstStepRequired()}
HTML;

    // Iterate through the steps
    foreach($details->getSteps() as $step) {
      $html .= <<<HTML
Step number = {$step->getNumber()}
Step name   = {$step->getName()}
Step URL    = {$step->getUrl()}
HTML;
    }
  } else if ($type == 'VISIT_TIME_ON_SITE') {
    $details = $goal->getVisitTimeOnSiteDetails();

    $html .= <<<HTML
Comparison type  = {$details->getComparisonType()}
Comparison value = {$details->getComparisonValue()}
HTML;
  } else if ($type == 'VISIT_NUM_PAGES') {
    $details = $goal->getVisitNumPagesDetails();

    $html .= <<<HTML
Comparison type  = {$details->getComparisonType()}
Comparison value = {$details->getComparisonValue()}
HTML;
  } else if ($type == 'EVENT') {
    $details = $goal->getEventDetails();

    $html .= <<<HTML
Use event value  = {$details->getUseEventValue()}
HTML;

    // Get all the event goal conditions.
    foreach ($details->getEventConditions() as $condition) {
      $html .= <<<HTML
Event type       = {$condition->getType()}
HTML;

      if ($condition->getType() == 'VALUE') {
        // Process VALUE.
        $html .= <<<HTML
Comparison type  = {$condition->getComparisonType()}
Comparison value = {$condition->getComparisonValue()}
HTML;
      } else {
        // Process CATEGORY, ACTION, LABEL.
        $html .= <<<HTML
Match type       = {$condition->getMatchType()}
Expression       = {$condition->getExpression()}
HTML;
      }
    }
  }

  $html .= '</pre>';
  print $html;
}

پایتون

از کتابخانه کلاینت پایتون استفاده می کند.

# Note: This code assumes you have an authorized Analytics service object.
# See the Goal Dev Guide for details.



# Example #1:
# Requests a list of all goals for the authorized user.
try:
  goals = analytics.management().goals().list(
      accountId='12345',
      webPropertyId='UA-12345-1',
      profileId='523').execute()

except TypeError, error:
  # Handle errors in constructing a query.
  print ('There was an error in constructing your query : %s' % error)

except HttpError, error:
  # Handle API errors.
  print ('There was an API error : %s : %s' %
         (error.resp.status, error.resp.reason()))


# Example #2:
# Retrieves all goals for all views (profiles) for the user, using a
# wildcard '~all' as the profile ID.
goals = analytics.management().goals().list(accountId='12345',
                                            webPropertyId='UA-12345-1',
                                            profileId='~all').execute()


# Example #3:
# The results of the list method are stored in the Goals object. The following
# code shows how to iterate through them.
for goal in goals_response.get('items', []):
  print 'Account ID           = %s' % goal.get('accountId')
  print 'Property ID          = %s' % goal.get('webPropertyId')
  print 'Internal Property ID = %s' % goal.get('internalWebPropertyId')
  print 'View (Profile) ID    = %s' % goal.get('profileId')

  print 'Goal Number = %s' % goal.get('id')
  print 'Goal Name   = %s' % goal.get('name')
  print 'Goal Value  = %s' % goal.get('value')
  print 'Goal Active = %s' % goal.get('active')
  print 'Goal Type   = %s' % goal.get('type')

  print 'Created     = %s' % goal.get('created')
  print 'Updated     = %s' % goal.get('updated')

  # Print the goal details depending on the type of goal.
  if goal.get('urlDestinationDetails'):
    print_url_destination_goal_details(goal.get('urlDestinationDetails'))

  elif goal.get('visitTimeOnSiteDetails'):
    print_visit_time_on_site_goal_details(goal.get('visitTimeOnSiteDetails'))

  elif goal.get('visitNumPagesDetails'):
    print_visit_num_pages_goal_details(goal.get('visitNumPagesDetails'))

  elif goal.get('eventDetails'):
    print_event_goal_details(goal.get('eventDetails'))


# Example #4:
# How to access a 'URL_DESTINATION' goals.
def print_url_destination_goal_details(goal_details):
  print 'Goal URL            = %s' % goal_details.get('url')
  print 'Case Sensitive      = %s' % goal_details.get('caseSensitive')
  print 'Match Type          = %s' % goal_details.get('matchType')
  print 'First Step Required = %s' % goal_details.get('firstStepRequired')

  print '------ Url Destination Goal Steps -------'
  for goal_step in goal_details.get('steps', []):
    print 'Step Number  = %s' % goal_step.get('number')
    print 'Step Name    = %s' % goal_step.get('name')
    print 'Step URL     = %s' % goal_step.get('url')
  else:
    print 'No Steps Configured'


# Example #5:
# How to access a 'VISIT_TIME_ON_SITE' goal.
def print_visit_time_on_site_goal_details(goal_details):
  print '------ Visit Time On Site Goal -------'
  print 'Comparison Type  = %s' % goal_details.get('comparisonType')
  print 'comparison Value = %s' % goal_details.get('comparisonValue')


# Example #6:
# How to iterate through 'VISIT_NUM_PAGES' goals.
def print_visit_num_pages_goal_details(goal_details):
  print '------ Visit Num Pages Goal -------'
  print 'Comparison Type  = %s' % goal_details.get('comparisonType')
  print 'comparison Value = %s' % goal_details.get('comparisonValue')


# Example #7:
# How to iterate through 'EVENT' goals.
def print_event_goal_details(goal_details):
  print 'Use Event Value  = %s' % goal_details.get('useEventValue')

  for event_condition in goal_details.get('eventConditions', []):
    event_type = event_condition.get('type')
    print 'Type             = %s' % event_type

    if event_type == 'VALUE':
      print 'Comparison Type  = %s' % event_condition.get('comparisonType')
      print 'Comparison Value = %s' % event_condition.get('comparisonValue')

    else:  # CATEGORY, ACTION, LABEL types.
      print 'Match Type       = %s' % event_condition.get('matchType')
      print 'Expression       = %s' % event_condition.get('expression')

جاوا اسکریپت

از کتابخانه سرویس گیرنده جاوا اسکریپت استفاده می کند.

/*
 * Note: This code assumes you have an authorized Analytics client object.
 * See the Goals Developer Guide for details.
 */

/*
 * Example 1:
 * Requests a list of all goals for the authorized user.
 */
function listGoals() {
  var request = gapi.client.analytics.management.goals.list({
    'accountId': '123456',
    'webPropertyId': 'UA-123456-1',
    'profileId': '7654321'
  });
  request.execute(printGoals);
}

/*
 * Example 2:
 * The results of the list method are passed as the results object.
 * The following code shows how to iterate through them.
 */
function printGoals(results) {
  if (results && !results.error) {
    var goals = results.items;
    for (var i = 0, goal; goal = goals[i]; i++) {
      console.log('Account Id: ' + goal.accountId);
      console.log('Property Id: ' + goal.webPropertyId);
      console.log('Internal Property Id: ' + goal.internalWebPropertyId);
      console.log('View (Profile) Id: ' + goal.profileId);

      console.log('Goal Id: ' + goal.id);
      console.log('Goal Name: ' + goal.name);
      console.log('Goal Value: ' + goal.value);
      console.log('Goal Active: ' + goal.active);
      console.log('Goal Type: ' + goal.type);

      console.log('Created: ' + goal.created);
      console.log('Updated: ' + goal.updated);

      // Print the goal details depending on the type of goal.
      if (goal.urlDestinationDetails) {
        printDestinationDetails(goal.urlDestinationDetails);
      } else if (goal.visitTimeOnSiteDetails) {
        printComparisonDetails(goal.visitTimeOnSiteDetails);
      } else if (goal.visitNumPagesDetails) {
        printComparisonDetails(goal.visitNumPagesDetails);
      } else if (goal.eventDetails) {
        printEventDetails(goal.eventDetails);
      }
    }
  }
}


function printDestinationDetails(details) {
  console.log('Goal URL: ' + details.url);
  console.log('Case Sensitive: ' + details.caseSensitive);
  console.log('Match Type: ' + details.matchType);
  console.log('First Step Required: ' + details.firstStepRequired);

  // Iterate through the steps.
  var steps = details.steps;
  if (steps) {
    for (var i = 0, step; step = steps[i]; i++) {
      console.log('Step Number: ' + step.number);
      console.log('Step Name: ' + step.name);
      console.log('Step URL: ' + step.url);
    }
  } else {
    console.log('No Steps Configured.');
  }
}

function printComparisonDetails(details) {
  console.log('Comparison Type: ' + details.comparisonType);
  console.log('Comparison Value: ' + details.comparisonValue);
}

function printEventDetails(details) {
  var conditions = details.eventContitions;
  if (conditions) {
    for (var i = 0, condition; condition = conditions[i]; i++) {
      console.log('Condition Type: ' + condition.type);
      if (condition.type == 'VALUE') {
        console.log('Comparison Type: ' + condition.comparisonType);
        console.log('Comparison Value: ' + condition.comparisonValue);
      } else {
        console.log('Match Type: ' + condition.matchType);
        console.log('Expression: ' + condition.expression);
      }
    }
  }
}

آن را امتحان کنید!

از APIs Explorer زیر برای فراخوانی این روش در داده‌های زنده و دیدن پاسخ استفاده کنید. از طرف دیگر، اکسپلورر مستقل را امتحان کنید.