Google Universal Analytics はサービスを終了したため、現在はこの記事で紹介しているコードは動作しません。
新しい Google Analytics 4 (GA4) プロパティを利用する必要があります。
GA4プロパティからのデータ取得はこちらの記事を参照してください。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Google.GData.Client;
using Google.GData.Analytics;
using Google.GData.Extensions;
namespace GoogleAnalyticsDataGet
{
public partial class FormMain : Form
{
public FormMain()
{
InitializeComponent();
}
private void button_GetProfile_Click(object sender, EventArgs e)
{
string userName = textBox_User.Text;
string passWord = textBox_Pass.Text;
AccountQuery query = new AccountQuery();
AnalyticsService service = new AnalyticsService("AnalyticsSampleApp(iPentec)");
if (!string.IsNullOrEmpty(userName)) {
service.setUserCredentials(userName, passWord);
}
AccountFeed accountFeed = service.Query(query);
foreach (AccountEntry entry in accountFeed.Entries) {
ListViewItem item = new ListViewItem(entry.Title.Text);
//item.SubItems.Add(entry.Title.Text);
item.SubItems.Add(entry.ProfileId.Value);
listView_Profile.Items.Add(item);
}
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Google.GData.Client;
using Google.GData.Analytics;
using Google.GData.Extensions;
namespace GoogleAnalyticsDataGet
{
public partial class FormMain : Form
{
public FormMain()
{
InitializeComponent();
}
private void button_GetProfile_Click(object sender, EventArgs e)
{
string userName = textBox_User.Text;
string passWord = textBox_Pass.Text;
string apikey = "AIxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxx";
string feedUrl = "https://www.googleapis.com/analytics/v2.4/management/accounts?key=" + apikey;
AccountQuery query = new AccountQuery(feedUrl);
AnalyticsService service = new AnalyticsService("AnalyticsSampleApp(iPentec)");
if (!string.IsNullOrEmpty(userName)) {
service.setUserCredentials(userName, passWord);
}
AccountFeed accountFeed = service.Query(query);
foreach (AccountEntry entry in accountFeed.Entries) {
ListViewItem item = new ListViewItem(entry.Title.Text);
//item.SubItems.Add(entry.Title.Text);
item.SubItems.Add(entry.ProfileId.Value);
listView_Profile.Items.Add(item);
}
}
}
}
AccountQuery query = new AccountQuery();
AnalyticsService service = new AnalyticsService("AnalyticsSampleApp(iPentec)");
にて、AccountQueryとAnalyticsServiceクラスのインスタンスを作成します。service.setUserCredentials(userName, passWord);
にて、setUserCredentials()メソッドを呼び出し認証情報を設定します。認証情報はGoogleアカウントのユーザーIDとパスワードを渡します。AccountFeed accountFeed = service.Query(query);
AnalyticsServiceのインスタンスのQuery()メソッドを呼び出し、プロファイルの一覧を取得します。 foreach (AccountEntry entry in accountFeed.Entries) {
ListViewItem item = new ListViewItem(entry.Title.Text);
item.SubItems.Add(entry.ProfileId.Value);
listView_Profile.Items.Add(item);
}
foreachループで取得したプロファイルをListViewに追加します。