需要授權
列出使用者有權存取的帳戶摘要 (輕量型樹狀結構,由帳戶/資源/個人資料組成)。 立即試用或參閱範例。
要求
HTTP 要求
GET https://www.googleapis.com/analytics/v3/management/accountSummaries
參數
參數名稱 | 值 | 說明 |
---|---|---|
選用查詢參數 | ||
max-results |
integer |
此回應中包含的帳戶摘要數量上限,可接受的值為 1000。 |
start-index |
integer |
要擷取的第一個實體的索引。請將這個參數當做分頁機制,並搭配 max-results 參數。 |
授權
這項要求需要至少下列其中一個範圍的授權 (進一步瞭解驗證和授權)。
內容範圍 |
---|
https://www.googleapis.com/auth/analytics.edit |
https://www.googleapis.com/auth/analytics.readonly |
要求主體
請勿使用這個方法提供要求主體。
回應
如果成功的話,這個方法會傳回回應內文,其結構如下:
{ "kind": "analytics#accountSummaries", "username": string, "totalResults": integer, "startIndex": integer, "itemsPerPage": integer, "previousLink": string, "nextLink": string, "items": [ management.accountSummaries Resource ] }
屬性名稱 | 值 | 說明 | 附註 |
---|---|---|---|
kind |
string |
集合類型。 | |
username |
string |
已驗證使用者的電子郵件 ID | |
totalResults |
integer |
查詢結果的總數,無論回應中的結果數量為何。 | |
startIndex |
integer |
資源的起始索引,預設索引為 1,或透過 start-index 查詢參數指定。 | |
itemsPerPage |
integer |
回應可包含的資源數量上限,不受實際傳回的資源數量影響。這個函式的值範圍從 1 到 1000,且預設值為 1000,或者是由 max-results 查詢參數指定。 | |
previousLink |
string |
連結至此 AccountSummary 集合的上一頁。 | |
nextLink |
string |
連結至這個 AccountSummary 集合的下一頁連結。 | |
items[] |
list |
帳戶摘要清單。 |
示例
注意:這個方法適用的程式語言眾多,我們只在此提供部分程式碼範例,完整的支援語言清單請參閱用戶端程式庫頁面。
Java
使用 Java 用戶端程式庫。
/** * Note: This code assumes you have an authorized Analytics service object. * See the Account Summaries Developer Guide for details. */ /** * Example #1: * Requests a list of all account summaries for the authorized user. */ try { AccountSummaries accountSummaries = service.management(). accountSummaries().list().execute(); } catch (IOException e) { System.out.println("An error occurred: " + e); } /** * Example #2: * The results of the list method are stored in the accountSummaries object. * The following code shows how to iterate through them. **/ public static void printAccountSummaries(AccountSummaries accountSummaries) { for (AccountSummary account : accountSummaries.getItems()) { System.out.println(account.getName() + " (" + account.getId() + ")"); printPropertySummaries(account); } } private static void printPropertySummaries(AccountSummary accountSummary) { for (WebPropertySummary property : accountSummary.getWebProperties()) { System.out.println(" " + property.getName() + " (" + property.getId() + ")"); System.out.println(" [" + property.getWebsiteUrl() + " | " + property.getLevel() + "]"); printProfileSummary(property); } } private static void printProfileSummary(WebPropertySummary webPropertySummary) { for (ProfileSummary profile : webPropertySummary.getProfiles()) { System.out.println(" " + profile.getName() + " (" + profile.getId() + ") | " + profile.getType()); } }
PHP
使用 PHP 用戶端程式庫。
/** * Note: This code assumes you have an authorized Analytics service object. * See the Account Summaries Developer Guide for details. */ /** * Example #1: * Requests a list of all account summaries for the authorized user. */ try { $accounts = $analytics->management_accountSummaries ->listManagementAccountSummaries(); } 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: * The results of the list method are stored in the accounts object. * The following code shows how to iterate through them. */ foreach ($accounts->getItems() as $account) { $html = <<<HTML <pre> Account id = {$account->getId()} Account kind = {$account->getKind()} Account name = {$account->getName()} HTML; // Iterate through each Property. foreach ($account->getWebProperties() as $property) { $html .= <<<HTML Property id = {$property->getId()} Property kind = {$property->getKind()} Property name = {$property->getName()} Internal property id = {$property->getInternalWebPropertyId()} Property level = {$property->getLevel()} Property URL = {$property->getWebsiteUrl()} HTML; // Iterate through each view (profile). foreach ($property->getProfiles() as $profile) { $html .= <<<HTML Profile id = {$profile->getId()} Profile kind = {$profile->getKind()} Profile name = {$profile->getName()} Profile type = {$profile->getType()} HTML; } } $html .= '</pre>'; print $html; }
Python
使用 Python 用戶端程式庫。
# Note: This code assumes you have an authorized Analytics service object. # See the Account Summaries Developer Guide for details. # Example #1: # Requests a list of all account summaries for the authorized user. try: account_summaries = analytics.management().accountSummaries().list().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: # The results of the list method are stored in the account_summaries object. # The following code shows how to iterate through them. for account in account_summaries.get('items', []): print '\n%s (%s)' % (account.get('name'), account.get('id')) print_property_summaries(account) def print_property_summaries(account_summary): if account_summary: for property in account_summary.get('webProperties', []): print ' %s (%s)' % (property.get('name'), property.get('id')) print ' [%s | %s]' % (property.get('websiteUrl'), property.get('level')) print_profile_summary(property) def print_profile_summary(property_summary): if property_summary: for profile in property_summary.get('profiles', []): print ' %s (%s) | %s' % (profile.get('name'), profile.get('id'), profile.get('type'))
JavaScript
/* * Note: This code assumes you have an authorized Analytics client object. * See the Account Summaries Developer Guide for details. */ /* * Example 1: * Requests a list of all account summaries for the authorized user. */ function listAccountSummaries() { var request = gapi.client.analytics.management.accountSummaries.list(); request.execute(handleResponse); } /* * Example 2: * The results of the list method are passed as the response object. * The following code shows how to iterate through them. */ function handleResponse(response) { if (response && !response.error) { if (response.items) { printAccountSummaries(response.items); } } else { console.log('There was an error: ' + response.message); } } function printAccountSummaries(accounts) { for (var i = 0, account; account = accounts[i]; i++) { console.log('Account id: ' + account.id); console.log('Account name: ' + account.name); console.log('Account kind: ' + account.kind); // Print the properties. if (account.webProperties) { printProperties(account.webProperties); } } } function printProperties(properties) { for (var j = 0, property; property = properties[j]; j++) { console.log('Property id: ' + property.id); console.log('Property name: ' + property.name); console.log('Property kind: ' + property.kind); console.log('Internal id: ' + property.internalWebPropertyId); console.log('Property level: ' + property.level); console.log('Property url: ' + property.websiteUrl); // Print the views (profiles). if (property.profiles) { printProfiles(property.profiles); } } } function printProfiles(profiles) { for (var k = 0, profile; profile = profiles[k]; k++) { console.log('Profile id: ' + profile.id); console.log('Profile name: ' + profile.name); console.log('Profile kind: ' + profile.kind); console.log('Profile type: ' + profile.type); } }
試試看!
使用下方的 APIs Explorer,針對有效資料呼叫這個方法,然後查看回應。 或者,您也可以試試獨立的 Explorer。