Google API を使用して Google アナリティクスを取得しています。分析を取得するには、「ga:12345678」のようなプロファイル ID を提供する必要があります。
問題は、ユーザーが多くのプロファイルを持つことができることです。たとえば、「UA-1234567-1」のようなトラッキング ID を知っている場合など、Google トラッキング コードからプロファイル ID を特定することはできますか? それらは互いに関連していますか?
ありがとう
Google API を使用して Google アナリティクスを取得しています。分析を取得するには、「ga:12345678」のようなプロファイル ID を提供する必要があります。
問題は、ユーザーが多くのプロファイルを持つことができることです。たとえば、「UA-1234567-1」のようなトラッキング ID を知っている場合など、Google トラッキング コードからプロファイル ID を特定することはできますか? それらは互いに関連していますか?
ありがとう
私は同じ問題を抱えていて、Google アナリティクスのプロファイル ID を取得する最も簡単な方法を見つけました。
Google アナリティクスにログイン
1.サイトのプロフィールにアクセスします(ダッシュボードにアクセスします)
2. URL は次のようになります。
https://www.google.com/analytics/web/#report/visitors-overview/a1234b23478970p987654/
/a1234b23478970p 987654/
最後の「p」の後の部分は、Google アナリティクス プロファイル IDです。この場合 (これは偽のアカウントです)、「987654」です。</p>
Java で追跡コードを使用してプロファイル ID を見つけるというこのタスクを実行したところです。重要なのは、トラッキング コードがウェブ プロパティ ID として使用され、プロファイルが内部ウェブ プロパティ 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;
}
}
管理 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
取得しようとしているものは、と呼ばれますtableId
。トラッキングコードで使用されるIDは。と呼ばれますwebPropertyId
。tableId's
Webプロパティごとに、一意の複数のプロファイルを作成することができます。
tableId
GA内の[分析設定]>[プロファイル設定]画面から取得できます (プロファイルの1つで[編集]を押します)。次に、「プロファイルID」フィールドを取得し、「ga:」に追加します。アカウントフィードを使用して、プロファイルデータを含むアカウントの詳細をダウンロードすることもできます:http ://code.google.com/intl/en/apis/analytics/docs/gdata/gdataReferenceAccountFeed.html