问题描述
|
我正在使用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
希望这可以帮助。