2016-03-17 1 views
-1

Я использую учетные данные OAuth2, получить сообщение об ошибке 404:Удаленный сервер возвратил ошибку: (404) Не найдено. Google implentation в C#

using Google.Analytics; 
using Google.GData.Analytics; 

    void Analytics() 
     { 
      try 
      { 
       string userName = ConfigurationManager.AppSettings["username"]; 
       string passWord = ConfigurationManager.AppSettings["password"]; 
       string gkey = "key=api _key"; 
       string dataFeedUrl = "https://www.googleapis.com/analytics/v3/data/ga";//+ gkey; 
       AccountQuery query = new AccountQuery(); 
       AnalyticsService service = new AnalyticsService("Web App"); 
       service.setUserCredentials(userName, passWord); 

       DataQuery query1 = new DataQuery(dataFeedUrl); 
       query1.Ids = "ga:123456789"; 
       query1.Metrics = "ga:visits,ga:sessions,ga:pageValue,ga:bounces,ga:bounceRate,ga:pageviews"; 
       query1.Dimensions = "ga:city,ga:date"; 
       query1.GAStartDate = ("2016-03-15");//DateTime.Now.AddMonths(-1).AddDays(-2).ToString("yyyy-MM-dd"); 
       query1.GAEndDate = ("2016-03-17");//DateTime.Now.AddDays(-3).ToString("yyyy-MM-dd"); 
       query1.ExtraParameters = gkey; 
       DataFeed dataFeedVisits = service.Query(query1); 
       foreach (DataEntry entry in dataFeedVisits.Entries) 
       { 
        string st = entry.Title.Text; 
        string ss = entry.Metrics[0].Value; 
        int _intVisists = Int32.Parse(ss); 
        Response.Write("<br/>"); 
        Response.Write("Total Visits : " + ss); 
        Response.Write("<br/>"); 
       } 
      } 
      catch (Exception ex) 
      { 
       Response.Write("Error : " + ex); 
      } 
     } 

Исключения:

Execution of request failed: https://www.googleapis.com/analytics/v3/data/ga?key=api_key&dimensions=ga:city,ga:date&end-date=2016-03-17&ids=ga:123456789&metrics=ga:visits,ga:sessions,ga:pageValue,ga:bounces,ga:bounceRate,ga:pageviews&start-date=2016-03-15

Как-то его перенаправление в https://www.google.com/accounts/ClientLogin который отключение от Google.

ответ

0
  1. Клиентский логин был закрыт в мае 2015 года, там вам нужно использовать Open authentication.
  2. Вы используете библиотеку GData, для которой данные должны быть возвращены как XML.
  3. вы запрашиваете API Google Analytics V3, который не является api gdata и возвращает данные как JSon.

Решение:

Установите текущую версию Google .net клиентской библиотеки

PM> Install-Package Google.Apis.Analytics.v3

Аутентификация:

string[] scopes = new string[] {AnalyticsService.Scope.AnalyticsReadonly};  // View Google Analytics Data 

var clientId = "[Client ID]";  // From https://console.developers.google.com 
var clientSecret = "xxx";   // From https://console.developers.google.com 
// here is where we Request the user to give us access, or use the Refresh Token that was previously stored in %AppData% 
var credential = GoogleWebAuthorizationBroker.AuthorizeAsync(new ClientSecrets { ClientId = clientId, 
                       ClientSecret = clientSecret}, 
                  scopes, 
                  Environment.UserName, 
                  CancellationToken.None, 
                  new FileDataStore("Daimto.GoogleAnalytics.Auth.Store")).Result; 

создать службу аналитики

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

запрос данных

DataResource.GaResource.GetRequest request = service.Data.Ga.Get("ga:8903098", "2014-01-01", "2014-01-01", "ga:sessions"); 
request.MaxResults = 1000; 
GaData result = request.Execute(); 

код разорванные от моей Google Analytis api tutorail

+0

спасибо за ваш ответ: я провел почти 4 дня, не получая результата я просто скопируйте приклеенный код, получив ошибку как: Ошибка: "unauthorized_client", Описание: "", Uri: "", я тоже прошел через ваш учебник :( –

+1

это всплывающее окно и req аутентификация? – DaImTo

+0

Нет никакого всплывающего окна, я получил ошибку на линии GaData result = request.Execute(); –

Смежные вопросы