現在のバージョンはv2.3で実行されており、v3に移行したいので、GoogleアナリティクスAPIからデータをフェッチするWindowsサービスを書き直しています。
google api .netライブラリをダウンロードし、次のコードを使用してgoogleからデータを承認およびフェッチしました。クエリエクスプローラーで実行されるので、クエリは問題ないことを知っています。
サーバーから実行すると、無効な資格情報で401エラーが発生し、修正方法がわかりません。私は次のコードを使用しています。
Dim auth As New OAuth2LeggedAuthenticator(ConsumerKey, ConsumerSecret, User, DomainName)
Dim ga As New AnalyticsService(auth)
ga.Key = ApiKey ' Simple API Access - API Key
Dim query = ga.Data.Ga.Get("ga:" + myprofileID, _startDate.ToString("yyyy-MM-dd"), _endDate.ToString("yyyy-MM-dd"), "ga:totalEvents")
query.Dimensions = "ga:eventLabel,ga:source,ga:medium,ga:keyword,ga:campaign,ga:isMobile,ga:date"
Dim res = query.Fetch
フェッチは401を返しますが、実際には何をしているのかわかりません。問題になる可能性のあるOauth2leggedauthenticationクラスを使用してスコープを設定する方法がないようです。
また、クライアントIDとシークレットをWebアプリケーションに使用しています。インストールされているアプリケーションにもクライアントIDを設定しましたが、どちらも機能しません。
Oauth2LeggedAuthenticatorもAnalyticsServiceもOauthトークンを公開していないので、それが問題の一部であるかどうか疑問に思いますが、問題を回避する方法もわかりません。