Memerlukan otorisasi
Mencantumkan tujuan yang dapat diakses oleh pengguna. Coba sekarang atau lihat contohnya.
Selain parameter standar, metode ini mendukung parameter yang tercantum dalam tabel parameter.
Permintaan
Permintaan HTTP
GET https://www.googleapis.com/analytics/v3/management/accounts/accountId/webproperties/webPropertyId/profiles/profileId/goals
Parameter
Nama parameter | Nilai | Deskripsi |
---|---|---|
Parameter jalur | ||
accountId |
string |
ID akun yang akan diambil sasarannya. Dapat berupa ID akun spesifik atau '~all ', yang merujuk ke semua akun yang dapat diakses pengguna.
|
profileId |
string |
ID Tampilan (Profil) yang akan diambil sasarannya. Dapat berupa ID tampilan (profil) tertentu atau '~all', yang mengacu pada semua tampilan (profil) yang dapat diakses pengguna. |
webPropertyId |
string |
ID properti web yang akan diambil sasarannya. Dapat berupa ID properti web tertentu atau '~all', yang mengacu pada semua properti web yang dapat diakses pengguna. |
Parameter kueri opsional | ||
max-results |
integer |
Jumlah sasaran maksimum yang akan disertakan dalam respons ini. |
start-index |
integer |
Indeks sasaran pertama yang akan diambil. Gunakan parameter ini sebagai mekanisme penomoran halaman beserta parameter hasil maksimal. |
Otorisasi
Permintaan ini memerlukan otorisasi dengan setidaknya salah satu cakupan berikut (baca selengkapnya tentang autentikasi dan otorisasi).
Cakupan |
---|
https://www.googleapis.com/auth/analytics |
https://www.googleapis.com/auth/analytics.edit |
https://www.googleapis.com/auth/analytics.readonly |
Isi permintaan
Jangan memberikan isi permintaan dengan metode ini.
Respons
Responsnya adalah kumpulan yang berisi satu resource Sasaran untuk setiap sasaran yang diminta.
{ "kind": "analytics#goals", "username": string, "totalResults": integer, "startIndex": integer, "itemsPerPage": integer, "previousLink": string, "nextLink": string, "items": [ management.goals Resource ] }
Nama properti | Nilai | Deskripsi | Catatan |
---|---|---|---|
kind |
string |
Jenis koleksi. Nilainya adalah "analytics#goals ". |
|
username |
string |
ID Email pengguna yang diautentikasi | |
totalResults |
integer |
Jumlah total hasil untuk kueri, terlepas dari jumlah resource dalam hasil. | |
startIndex |
integer |
Indeks awal resource, yaitu 1 secara default atau ditentukan oleh parameter kueri start-index . |
|
itemsPerPage |
integer |
Jumlah maksimum resource yang dapat ditampung respons, berapa pun jumlah resource sebenarnya yang ditampilkan. Nilainya berkisar dari 1 hingga 1.000 dengan nilai 1.000 secara default, atau ditentukan oleh parameter kueri max-results . |
|
previousLink |
string |
Tautan ke halaman sebelumnya untuk kumpulan sasaran ini. | |
nextLink |
string |
Tautan ke halaman berikutnya untuk kumpulan sasaran ini. | |
items[] |
list |
Daftar sasaran. |
Contoh
Catatan: Contoh kode yang tersedia untuk metode ini tidak merepresentasikan semua bahasa pemrograman yang didukung (lihat halaman library klien untuk mengetahui daftar bahasa yang didukung).
Java
Menggunakan library klien 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
Menggunakan library klien 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
Menggunakan library klien 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
Menggunakan library klien 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); } } } }
Cobalah!
Gunakan APIs Explorer di bawah untuk memanggil metode ini pada data live dan melihat responsnya. Atau, coba Explorer mandiri.