Goals: list

يجب تقديم تفويض.

يسرد الأهداف التي يمكن للمستخدم الوصول إليها. جرِّبه الآن أو اطّلِع على مثال.

وبالإضافة إلى المَعلمات العادية، تتيح هذه الطريقة استخدام المَعلمات المدرَجة في جدول المَعلمات.

الطلب

طلب HTTP

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

المَعلمات

اسم المعلَمة القيمة الوصف
مَعلمات المسار
accountId string رقم تعريف الحساب المطلوب استرداد الأهداف له. يمكن أن يكون رقم تعريف الحساب محددًا أو رقم "~all"، ما يشير إلى جميع الحسابات التي يمكن للمستخدم الوصول إليها.
profileId string رقم تعريف الملف الشخصي (الملف الشخصي) لاسترداد الأهداف له. يمكن أن يكون معرّفًا محددًا لملف شخصي أو "~الكل"، ما يشير إلى جميع الملفات الشخصية التي يمكن للمستخدم الوصول إليها.
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
  ]
}
اسم الموقع القيمة الوصف Notes
kind string نوع المجموعة القيمة هي "analytics#goals".
username string رقم تعريف البريد الإلكتروني للمستخدم الذي تمت المصادقة عليه
totalResults integer إجمالي عدد النتائج لطلب البحث، بغض النظر عن عدد الموارد في النتيجة.
startIndex integer هو فهرس البدء للموارد، والذي يكون 1 تلقائيًا أو يتم تحديده بطريقة أخرى من خلال مَعلمة طلب البحث start-index.
itemsPerPage integer الحد الأقصى لعدد الموارد التي يمكن أن يحتوي عليها الرد، بغض النظر عن العدد الفعلي للموارد المعروضة. وتتراوح قيمتها بين 1 و1000 مع قيمة 1000 تلقائيًا، أو يتم تحديدها بطريقة أخرى من خلال مَعلمة طلب البحث max-results.
items[] list قائمة بالأهداف.

أمثلة

ملاحظة: إنّ الأمثلة المرتبطة بالرموز والمتوفرة لهذه الطريقة لا تمثّل كل لغات البرمجة المتوافقة (يُرجى مراجعة صفحة مكتبات البرامج للاطّلاع على قائمة باللغات المتوافقة).

Java

تستخدم مكتبة عملاء Java.

/**
 * 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;
}

Python

تستخدم مكتبة برامج Python.

# 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')

JavaScript

تستخدم مكتبة برامج JavaScript.

/*
 * 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);
      }
    }
  }
}

تجربة

استخدِم مستكشف واجهات برمجة التطبيقات أدناه لطلب هذه الطريقة على البيانات المباشرة والاطّلاع على الردّ. ويمكنك بدلاً من ذلك تجربة المستكشف المستقل.