5

Google API を使用して Google アナリティクスを取得しています。分析を取得するには、「ga:12345678」のようなプロファイル ID を提供する必要があります。

問題は、ユーザーが多くのプロファイルを持つことができることです。たとえば、「UA-1234567-1」のようなトラッキング ID を知っている場合など、Google トラッキング コードからプロファイル ID を特定することはできますか? それらは互いに関連していますか?

ありがとう

4

5 に答える 5

5

私は同じ問題を抱えていて、Google アナリティクスのプロファイル ID を取得する最も簡単な方法を見つけました。

Google アナリティクスにログイン

1.サイトのプロフィールにアクセスします(ダッシュボードにアクセスします)

2. URL は次のようになります。

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

/a1234b23478970p 987654/

最後の「p」の後の部分は、Google アナリティクス プロファイル IDです。この場合 (これは偽のアカウントです)、「987654」です。</p>

于 2016-08-31T09:59:39.250 に答える
1

Java で追跡コードを使用してプロファイル ID を見つけるというこのタスクを実行したところです。重要なのは、トラッキング コードがウェブ プロパティ ID として使用され、プロファイルが内部ウェブ プロパティ ID を介してウェブ プロパティにリンクされていることです。したがって、手順は次のとおりです。

  1. Google 開発者コンソールで、サービス アカウントのクライアント ID を設定して、クライアントのメール アドレス、クライアント ID、および p12 ファイルを取得します。p12 をダウンロードしてサーバーに配置します。
  2. アナリティクス オブジェクトを取得するには、クライアント ID と p12 ファイルを使用して Google アナリティクス アカウントを承認します。
  3. アナリティクス オブジェクトを使用すると、すべてのウェブ プロパティ オブジェクトを取得し、トラッキング コードをウェブ プロパティ ID として使用してプロパティを選択し、その内部ウェブ プロパティ ID を取得できます。
  4. Analytics オブジェクトを使用して、すべてのプロファイル オブジェクトを繰り返し処理し、手順 2 で取得したものと同じ内部 Web プロパティ 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;
    }

}
于 2014-12-05T04:56:00.050 に答える
1

管理 API (以下のリンク) を使用して、特定の WebPropertyId (UA コード) に存在するプロファイルをプログラムで取得できます。

作成する HTTP 呼び出しは次のようになります。

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

どこaccountIDで とwebPropertyIDは、関心のある特定の値に設定されるか~all、現在のユーザーがアクセスできるすべてのものを元に戻します。

慣例により、Web プロパティの下に複数のプロファイルを作成しない場合、特定の WebPropertyId に対して既定のプロファイルのみが返されます。これは、WebPropertyId からプロファイル ID への 1 対 1 のマッピングを取得することを意味します。これにより、WebPropertyId からプロファイル ID を検索できます。

詳細については、Management API のドキュメントを参照してください: http://code.google.com/apis/analytics/docs/mgmt/mgmtFeedReference.html

于 2011-05-26T16:38:31.860 に答える
0

取得しようとしているものは、と呼ばれますtableId。トラッキングコードで使用されるIDは。と呼ばれますwebPropertyIdtableId'sWebプロパティごとに、一意の複数のプロファイルを作成することができます。

tableIdGA内の[分析設定]>[プロファイル設定]画面から取得できます (プロファイルの1つで[編集]を押します)。次に、「プロファイルID」フィールドを取得し、「ga:」に追加します。アカウントフィードを使用して、プロファイルデータを含むアカウントの詳細をダウンロードすることもできます:http ://code.google.com/intl/en/apis/analytics/docs/gdata/gdataReferenceAccountFeed.html

于 2011-03-21T16:26:38.287 に答える