Вопрос по asp.net, google-api, gdata – Исключение при использовании GData .NET Analytics API

1

Я столкнулся с проблемой при попытке получить данные из API GoogleAnalytics для фрагмента кода, который хорошо работал всего пару дней назад.

Для этого я ссылаюсь на следующие библиотеки DLL:

Google.GData.Analytics.dll
Google.GData.Client.dll
Google.GData.Extensions.dll

И я использую следующий код:

Dim visits As String = String.Empty
Dim username As String = "[email protected]"
Dim pass As String = "mypassword"

Const dataFeedUrl As String = "https://www.google.com/analytics/feeds/data"
Dim query As AccountQuery = New AccountQuery()
Dim service As AnalyticsService = New AnalyticsService("MyWebAnalyticsService")
service.setUserCredentials(username, pass)
Dim accountFeed As AccountFeed = service.Query(query) ''----------> Exception thrown in this line: GDataRequestException Execution of request failed: https://www.google.com/analytics/feeds/accounts/default

Я думал, что это связано с блокировкой аккаунта, который я использовал, но это не так, потому что я подтвердил регистрацию сайта для другого аккаунта аналитики и все еще не работает.

Этот код работал безупречно, как я уже говорил, но вчера внезапно прекратил это делать.

Не могли бы вы помочь мне выяснить, что не так? Возможно, изменился способ установки учетных данных пользователя, и я что-то упустил.

Большое спасибо за Вашу помощь.

& APOS;----Update---- Мне удалось заставить его работать, и теперь я могу запросить посещения для желаемого домена. Код выглядит следующим образом:

Dim visits As String = String.Empty
Dim username As String = "[email protected]" 
Dim pass As String = "mypassword"

& apos; следуйте инструкциям наhttps://developers.google.com/analytics/resources/articles/gdata-migration-guide (Создайте проект в консоли API Google), чтобы сгенерировать ключ & gt; после того, как он у вас есть, установите его как часть строки запроса, чтобы запросить наш сервис GA

Dim gkey As String = "key=yourkeystring"

& apos; установить новый URI для получения данных канала и добавить к нему сгенерированный ключ

Dim dataFeedUrl As String = "https://www.google.com/analytics/feeds/data?" & gkey   

& apos; создайте и подтвердите подлинность в нашем экземпляре службы

Dim service As AnalyticsService = New AnalyticsService("MyAnaliticsService")
service.setUserCredentials(username, pass)  

& apos; используйте идентификатор профиля для учетной записи, с которой вы хотите получать данные, вы можете найти ее
& apos; войдя в свою учетную запись Google Analytics, выберите нужный домен в своем списке (синяя ссылка) нажмите на кнопку администратора и на вкладке профилей найти профиль
Вложенная вкладка «Конфигурация», здесь вы найдете идентификатор профиля, в данном случае идентификатор длиной восемь символов, 12345678

Dim query1 As DataQuery = New DataQuery(dataFeedUrl)
With query1            
    .Ids = "ga:12345678" 
    .Metrics = "ga:visits"
    .Sort = "ga:visits"
    .GAStartDate = DateTime.Now.AddMonths(-1).AddDays(-2).ToString("yyyy-MM-dd")
    .GAEndDate = DateTime.Now.ToString("yyyy-MM-dd")
    .StartIndex = 1
End With

& apos; использовать сгенерированный поток данных на основе предыдущего запроса, чтобы получить посещения

Dim dataFeedVisits As DataFeed = service.Query(query1)

For Each entry As DataEntry In dataFeedVisits.Entries
    Dim st As String = entry.Title.Text
    Dim ss As String = entry.Metrics(0).Value
    visits = ss
Next
я хочу получить доступ к деталям профиля .. у вас есть идеи, как получить эти детали ??? я пытаюсь получить их, но не могу. в любом случае, используя это, я разобрался с моим исключением. Теперь мне нужно получить больше деталей ... DevT
Проверьте этот другой мой пост, разбирающий эту проблему:stackoverflow.com/questions/12241277/… Надеюсь, поможет. CoderRoller

Ваш Ответ

2   ответа
0

Пожалуйста, убедитесь, что вы зарегистрировали свой проект вКонсоль API и вы отправляете ключ API со своими запросами.

Если это не проблема, проверка внутреннего исключения даст вам более подробную информацию об ошибке. В качестве альтернативы вы можете использовать Fiddler для захвата HTTP-запроса и ответа. Последний будет включать более описательное сообщение об ошибке.

Привет клаудио Я пытаюсь отправить измененный запрос сейчас следующим образом:google.com/analytics/feeds/…, Однако я получаю ту же ошибку. Может быть, ошибка показывает, так как я не уверен насчет уникального идентификатора, используемого для получения аналитических данных (ids = ga: myganumber), я помню, что это число отличалось от номера UA-xxxxxxxx-x, и я получил его в коде .NET после подключения к удаленному серверу на объекте entry.ProfileId.Value, но так как я не могу подключиться, я больше не могу его получить, так как я могу получить этот номер, и правильный ли мой переписанный запрос ?. Спасибо. CoderRoller
1

У меня та же проблема, и, похоже, Google недавно отключил канал. Ответ дан в другом посте.Ошибка com.google.gdata.util.ResourceNotFoundException: не найдено с помощью Google Analytic

Фантастический пользователь1623663. Я исследую это. Большое спасибо. CoderRoller

Похожие вопросы