Как получить идентификатор профиля Google из кода отслеживания? - PullRequest
4 голосов
/ 21 марта 2011

Я получаю аналитику Google, используя Google API. Чтобы получить аналитику, мне нужно предоставить идентификатор профиля, который выглядит как «ga: 12345678».

Проблема в том, что у пользователя может быть много профилей. Можно ли определить идентификатор профиля, скажем, из кода отслеживания Google (например, если я знаю идентификатор отслеживания, который выглядит как "UA-1234567-1")? Они вообще связаны друг с другом?

Спасибо

Ответы [ 5 ]

4 голосов
/ 31 августа 2016

У меня была такая же проблема, и я нашел самый простой способ получить идентификатор профиля Google Analytics.

Войти в Google Analytics

1.Доступ к профилю вашего сайта (перейти на панель инструментов)

2.Ваш URL должен выглядеть следующим образом:

https://www.google.com/analytics/web/#report/visitors-overview/a1234b23478970p987654/

/ a1234b23478970p 987654 /

Последняя часть, после «p» - это идентификатор вашего профиля Google Analytics , в данном случае (это фальшивый аккаунт) - «987654»

1 голос
/ 26 мая 2011

Вы можете программно получить профили, которые существуют для данного WebPropertyId (код UA), используя API управления (ссылка ниже).

Ваш HTTP-вызов будет выглядеть так:

https://www.google.com/analytics/feeds/datasources/ga/accounts/[accountID]/webproperties/[webPropertyID]/profiles

Где accountID и webPropertyID будут установлены на конкретные значения, которые вас интересуют, или ~all для возврата всего, к чему у текущего пользователя есть доступ.

Если по соглашению вы не создаете несколько профилей в веб-свойстве, то для данного WebPropertyId будет возвращен только профиль по умолчанию, что означает, что вы получите однозначное сопоставление из WebPropertyId с идентификатором профиля. Это позволит вам найти идентификатор профиля из WebPropertyId.

См. Здесь в документации API управления для получения дополнительной информации: http://code.google.com/apis/analytics/docs/mgmt/mgmtFeedReference.html

1 голос
/ 05 декабря 2014

Я только что выполнил эту задачу по поиску идентификатора профиля по коду отслеживания в Java. Ключ заключается в том, что код отслеживания используется в качестве идентификатора веб-ресурса, а профиль связан с веб-ресурсом через внутренний идентификатор веб-ресурса. Таким образом, шаги, как показано ниже:

  1. В консоли разработчика Google установите идентификатор клиента учетных записей служб, чтобы получить адрес электронной почты клиента, идентификатор клиента и файл p12. Загрузите p12 и поместите на свой сервер.
  2. Авторизуйте свою учетную запись Google Analytics с помощью идентификатора клиента и файла p12 для получения объекта Analytics
  3. С помощью объекта Analytics вы можете получить все объекты веб-ресурса, выбрать свойство с кодом отслеживания в качестве идентификатора веб-ресурса и получить его внутренний идентификатор веб-ресурса
  4. С помощью объекта Analytics итерируйте по всем объектам профиля, выберите профиль с внутренним идентификатором веб-ресурса, аналогичным полученному на шаге 2

Полный код выглядит следующим образом: метод getProfileId () возвращает желаемый идентификатор профиля:

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

}
0 голосов
/ 13 мая 2015

Я сделал это с помощью Perl.

Это URL к get request

 my $ url = qq~https://www.googleapis.com/analytics/v3/management/accounts/ACCOUNTID/webproperties/WEBPROPERTYID/profiles?key=APIKEY~;

используйте это url с Token для генерации Данных, где вы найдете ga id

Надеюсь, это поможет.

0 голосов
/ 21 марта 2011

То, что вы пытаетесь получить, называется tableId. Идентификатор, используемый в коде отслеживания, называется webPropertyId. Для каждого веб-ресурса можно создать несколько профилей с уникальным tableId's.

Вы можете получить tableId на экране «Настройки Google Analytics> Настройки профиля» в GA (нажмите «Изменить» на одном из профилей). Затем возьмите поле «ID профиля» и добавьте его в «ga:». Вы также можете загрузить данные учетной записи, в том числе данные профиля, используя Фид учетной записи: http://code.google.com/intl/en/apis/analytics/docs/gdata/gdataReferenceAccountFeed.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...