如何从跟踪代码获取Google个人资料ID?

问题描述

| 我正在使用Google Api获得Google Analytics(分析)。为了获取分析信息,我需要提供类似于\“ ga:12345678 \”的配置文件ID。 问题是用户可以有许多配置文件。是否可以从所说的Google跟踪代码中找出个人资料ID(例如,如果我知道看起来像“ UA-1234567-1 \”的跟踪ID)? 它们之间是否彼此相关? 谢谢     

解决方法

我遇到了同样的问题,并且找到了获取Google Analytics(分析)配置文件ID的最简单方法。 登录到Google Analytics(分析) 1.访问您网站的个人资料(进入信息中心) 2.您的网址应如下所示:
https://www.google.com/analytics/web/#report/visitors-overview/a1234b23478970p987654/
/ a1234b23478970p987654 / 最后一部分,在“ p”之后是您的Google Analytics(分析)配置文件ID,在这种情况下(这是一个假帐户),它是“ 987654”     ,您可以使用管理API(以下链接)以编程方式获取给定WebPropertyId(UA代码)存在的配置文件。 您进行的HTTP调用如下所示:
https://www.google.com/analytics/feeds/datasources/ga/accounts/[accountID]/webproperties/[webPropertyID]/profiles
accountID
webPropertyID
将被设置为您感兴趣的特定值,或者将
~all
设置为带回当前用户可以访问的所有内容。 如果按照惯例,您没有在一个网络媒体资源下创建多个配置文件,那么对于给定的WebPropertyId,将仅返回默认配置文件,这意味着您将获得从WebPropertyId到配置文件ID的一对一映射。这将允许您从WebPropertyId查找配置文件ID。 有关更多信息,请参见管理API文档上的此处:http://code.google.com/apis/analytics/docs/mgmt/mgmtFeedReference.html     ,我刚刚完成了通过Java中的跟踪代码查找配置文件ID的任务。关键是将跟踪代码用作网络载体ID,并且配置文件通过内部网络载体ID与网络载体链接。因此,步骤如下: 在Google开发者控制台中,设置服务帐户客户端ID,以获取客户端电子邮件地址,客户端ID和p12文件。下载p12并放入您的服务器。 使用客户ID和p12文件授权您的Google Analytics(分析)帐户以获取Analytics对象 使用Google Analytics(分析)对象,您可以获取所有网络媒体资源对象,选择带有跟踪代码的媒体资源作为网络媒体资源ID,并获取其内部网络媒体资源ID 使用Google Analytics(分析)对象,遍历所有配置文件对象,选择内部Web属性ID与从步骤2中获得的ID相同的配置文件 完整的代码如下,getProfileId()方法将返回您想要的配置文件ID:
import java.io.File;
import java.util.Arrays;

import org.apache.commons.lang.StringUtils;

import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.analytics.Analytics;
import com.google.api.services.analytics.AnalyticsScopes;
import com.google.api.services.analytics.model.Profile;
import com.google.api.services.analytics.model.Profiles;
import com.google.api.services.analytics.model.Webproperties;
import com.google.api.services.analytics.model.Webproperty;

public class AnalyticsUtils {

    public static final String APP_NAME = \"<YOUR APP NAME>\";
    public static final String CLIENT_ID = \"<YOUR CLIENT ID>\";
    public static final String CLIENT_EMAIL = \"<YOUR CLIENT EMAIL>\";
    public static final String PATH_TO_P12= \"<PATH TO YOUR P12 FILE>\";
    public static final String TRACKING_ID=\"<YOUR TRACKING CODE>\";

    public static Analytics initializeAnalytics() throws Exception {

        final HttpTransport HTTP_TRANSPORT = new NetHttpTransport();

        final JsonFactory JSON_FACTORY = new JacksonFactory();

        GoogleCredential credential = new GoogleCredential.Builder()
                .setTransport(HTTP_TRANSPORT)
                .setJsonFactory(JSON_FACTORY)
                .setServiceAccountId(CLIENT_EMAIL)
                .setServiceAccountPrivateKeyFromP12File(new File(PATH_TO_P12))
                .setServiceAccountScopes(
                        Arrays.asList(AnalyticsScopes.ANALYTICS_READONLY))
                .build();

        Analytics analytics = new Analytics.Builder(HTTP_TRANSPORT,JSON_FACTORY,credential).setApplicationName(APP_NAME).build();

        return analytics;
    }

    public static String getProfileId(Analytics analytics) throws Exception {
        Webproperties webproperties = analytics.management().webproperties().list(\"~all\").execute();
        String internalPropertyId = StringUtils.EMPTY;

        for (Webproperty webproperty: webproperties.getItems()) {
            if (TRACKING_ID.equalsIgnoreCase(webproperty.getId())) {
                internalPropertyId = webproperty.getInternalWebPropertyId();
                break;
            }
        }

        Profiles profiles = analytics.management().profiles()
                .list(\"~all\",\"~all\").execute();

        for (Profile profile: profiles.getItems()) {
            if (internalPropertyId.equalsIgnoreCase(profile.getInternalWebPropertyId())) {
                return profile.getId();
            }
        }

        return StringUtils.EMPTY;
    }

}
    ,您想要获得的是6英镑。跟踪代码中使用的ID称为“ 7”。可以为每个网络媒体资源创建多个配置文件,并使用唯一的
tableId\'s
。 您可以从GA中的“ Analytics设置>配置文件设置\”屏幕中获取
tableId
(按其中一个配置文件上的\'edit \')。然后使用\“个人资料ID \”字段并将其附加到\“ ga:\”。您还可以使用帐户供稿下载帐户详细信息,包括配置文件数据:http://code.google.com/intl/zh-CN/apis/analytics/docs/gdata/gdataReferenceAccountFeed.html     ,我用
Perl
完成的。 这是ѭ11的网址
 my $ url = qq~https://www.googleapis.com/analytics/v3/management/accounts/ACCOUNTID/webproperties/WEBPROPERTYID/profiles?key=APIKEY~;
将此
url
Token
一起使用以生成数据,您将在其中找到
ga id
希望这可以帮助。