문제

C # V2.3 API를 사용하여 Google 애널리틱스를 쿼리하는 다음 코드가 있습니다.

string username = "SAMPLE@SAMPLE.COM";
string pass = "PASS";
string gkey = "?key=XXXXXXXXXXXXXXXXXXXXXXXXXXX";

string dataFeedUrl = "https://www.google.com/analytics/feeds/data" + gkey;            

AnalyticsService service = new AnalyticsService("API Sample");
service.setUserCredentials(username, pass);

DataQuery query1 = new DataQuery(dataFeedUrl);

query1.Ids = "ga:34197921";
query1.Dimensions = "ga:medium,ga:campaign,ga:date,ga:isMobile,ga:isTablet,ga:searchKeyword,ga:hostname";
query1.Metrics = "ga:visits,ga:visitors,ga:visitBounceRate,ga:goalStartsAll,ga:goalCompletionsAll,ga:goal1Starts,ga:goal1Completions,ga:goal2Starts,ga:goal2Completions,ga:goal3Starts,ga:goal3Completions,ga:goal4Starts,ga:goal4Completions,ga:adCost,ga:totalValue";
query1.Sort = "ga:date,ga:hour";
query1.NumberToRetrieve = 50;    

query1.GAStartDate = new DateTime(2012, 1, 2).ToString("yyyy-MM-dd");
query1.GAEndDate = DateTime.Now.ToString("yyyy-MM-dd");
query1.StartIndex = 1;
DataFeed dataFeedVisits = service.Query(query1);

foreach (DataEntry entry in dataFeedVisits.Entries)
{
.... 
}
.

Newer V3 API를 업그레이드하고 싶지만 다른 사람이 Google OAuth를 사용하여 인증 한 다음 Google 애널리틱스 데이터를 쿼리하는 간단한 예제 온라인을 볼 수 없습니다.

다음 NuGET 패키지를 설치합니다. 설치 패키지 Google.Apis.Analytics.v3 - 프레 새로운 C # 솔루션에서는 다음과 같은 추가 참조를 제공합니다 :

  • google.apis
  • google.apis.Analytics.v3
  • google.apis.auth
  • google.apis.auth.platformservices
  • google.apis.platformservices
  • log4net
  • newtownsoft.json
  • zlib.portable

나는이 기사를 본이 기사를 보았습니다. Google을 보내는 방법 ASP.NET Google Analytic API 버전 3 (google.apis.analytics.v3.dll)을 사용하여 분석 보고서 쿼리?

그러나이 기사의 코드는 NuGet에서 참조되는 Google 라이브러리를 사용하여 해결되지 않습니다.

누락 된 것은 무엇이었고 그림을 어떻게 완성 할 수 있습니까? 인증하려면 어떻게해야하며 Google 애널리틱스에 대한 쿼리를 실행하십시오.

.NET 라이브러리를 지원하기 위해 튜토리얼을 쉽게 따르기가 쉽지 않도록 Google에 누르십시오!

어떤 조언을 위해 미리 감사드립니다!

도움이 되었습니까?

해결책

V3 클라이언트 라이브러리를 사용하여 Google Analtyics에 액세스하는 것은 정말로 멋진 TBH입니다.내가 해결 된 유일한 것은 데이터베이스에 저장된 RefreshToken을 보내는 방법입니다.Im은 PC에서 나를 위해 상점을 잃어 버렸습니다.

요청 자전사 : 모든 클라이언트 스크 넷은 client_secret.json에 저장됩니다. Google API Consol에서 파일을 다운로드 할 수 있습니다.그것이 계속 될 것인지,

에 대한 승인이없는 경우 브라우저 창을 팝업합니다.

private void Form1_Load(object sender, EventArgs e)
{
 UserCredential credential;
 using (var stream = new System.IO.FileStream("client_secret.json", System.IO.FileMode.Open, System.IO.FileAccess.Read))
 {
  credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
  GoogleClientSecrets.Load(stream).Secrets,
  new[] { AnalyticsService.Scope.AnalyticsReadonly },
  "user", CancellationToken.None, new FileDataStore("Analytics.Auth.Store")).Result;
  }
.

}

이제 분석 서비스를 만들어야하는 Google Analytics에 액세스합니다.

AnalyticsService service = new AnalyticsService(new BaseClientService.Initializer() {
 HttpClientInitializer = credential,
 ApplicationName = "Analytics API sample",
 });
.

이제 모든 통화가 이제 실행됩니다.

당신은 다음과 같은 것입니다 :

DataResource.GaResource.GetRequest request = service.Data.Ga.Get(ga:34197921, new DateTime(2012, 1, 2).ToString("yyyy-MM-dd"), DateTime.Now.ToString("yyyy-MM-dd"), ""ga:visits,ga:visitors,ga:visitBounceRate,ga:goalStartsAll,ga:goalCompletionsAll,ga:goal1Starts,ga:goal1Completions,ga:goal2Starts,ga:goal2Completions,ga:goal3Starts,ga:goal3Completions,ga:goal4Starts,ga:goal4Completions,ga:adCost,ga:totalValue");
request.Dimensions = "ga:medium,ga:campaign,ga:date,ga:isMobile,ga:isTablet,ga:searchKeyword,ga:hostname";
.

다른 대부분의 전화를 걸 수있는 블로그 게시물이 있습니다. http://daimto.com/google-Analytics-api-v3-with-C /

다른 팁

동일한 문제가있었습니다.NuGET 패키지를 설치했지만 "파일 또는 어셈블리 'Microsoft.Threading.Tasks.Extensions.desktop, 버전= 1.0.16.0, Culture= NEFIEM, PublicToken= B03F5F7F11D50A3A 또는 종속성 중 하나 또는 종속성 중 하나 또는 종속성 중 하나 또는 종속성 중 하나 인 NuGet 패키지를 설치할 수 있습니다.. 시스템이 지정된 파일을 찾을 수 없습니다."나는 NuGet 패키지를 제거하고 다시 설치하려고 시도했다.그래서 나는 결국 Microsoft.Threading.tasks.Extensions.desktop.dll 파일을 검색하여 Net40 폴더에서 발견되었습니다.나는 그것을 bin 폴더에 그것을 복사 한 다음 그것이 일했다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top