Wyjątek zgłoszony podczas korzystania z interfejsu API GData .NET Analytics
Stoję przed problemem podczas pobierania danych z interfejsu API GoogleAnalytics na fragment kodu, który działa dobrze zaledwie kilka dni temu.
W tym celu odwołuję się do następujących bibliotek DLL:
Google.GData.Analytics.dll
Google.GData.Client.dll
Google.GData.Extensions.dll
Używam następującego kodu:
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
Myślałem, że ma to związek z blokowaniem konta, którego używałem, ale tak nie było, ponieważ zweryfikowałem rejestrację witryny dla innego konta analitycznego i nadal nie działa.
Ten kod działa bez zarzutu, jak już powiedziałem, ale nagle przestał to robić wczoraj.
Czy mógłbyś mi pomóc dowiedzieć się, co się stało? Być może zmienił się sposób ustawiania poświadczeń użytkownika i czegoś mi brakuje.
Bardzo ci dziękuje za pomoc.
'----Aktualizacja---- Udało mi się to sprawić, a teraz mogę wysłać zapytanie o żądaną domenę. Kod wygląda następująco:
Dim visits As String = String.Empty
Dim username As String = "[email protected]"
Dim pass As String = "mypassword"
„Postępuj zgodnie z instrukcjamihttps://developers.google.com/analytics/resources/articles/gdata-migration-guide (Utwórz projekt w konsoli Google APIs), aby wygenerować swój klucz „Gdy już to zrobisz, ustaw go jako część kwerendy, aby poprosić o usługę GA
Dim gkey As String = "key=yourkeystring"
„Ustaw nowy identyfikator URI, aby pobrać dane kanału i dołączyć go do wygenerowanego klucza
Dim dataFeedUrl As String = "https://www.google.com/analytics/feeds/data?" & gkey
„Twórz i uwierzytelniaj w naszej instancji usługi
Dim service As AnalyticsService = New AnalyticsService("MyAnaliticsService")
service.setUserCredentials(username, pass)
„Użyj identyfikatora profilu dla konta, z którego chcesz uzyskać odwiedziny, możesz je znaleźć
„logowanie do konta analitycznego, wybierz żądaną domenę na liście (niebieski link) kliknij przycisk administratora, a na karcie profili znajdź profil
'podkatalog konfiguracyjny, w tym miejscu znajdziesz identyfikator profilu w tym przypadku o długości ośmiu znaków 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
„Użyj wygenerowanego pliku danych na podstawie poprzedniego zapytania, aby uzyskać odwiedziny
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