Ausnahme bei Verwendung der GData .NET Analytics-API
Beim Abrufen von Daten aus der GoogleAnalytics-API für Code, der erst vor ein paar Tagen einwandfrei funktioniert hat, ist ein Problem aufgetreten.
Hierfür verweise ich auf folgende DLL's:
Google.GData.Analytics.dll
Google.GData.Client.dll
Google.GData.Extensions.dll
Und ich benutze den folgenden Code:
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
Ich dachte, es hätte etwas mit einer Sperrung des von mir verwendeten Kontos zu tun, aber das war nicht der Fall, weil ich die Registrierung der Website für ein anderes Analytics-Konto bestätigt habe und immer noch nicht funktioniert.
Dieser Code hat, wie ich bereits sagte, einwandfrei funktioniert, aber auf einmal hat er gestern aufgehört.
Könnten Sie mir bitte helfen, herauszufinden, was los ist? Möglicherweise hat sich die Art und Weise geändert, in der die Benutzeranmeldeinformationen festgelegt wurden, und mir fehlt etwas.
Vielen Dank für Ihre Hilfe.
'----Aktualisieren---- Ich habe es geschafft, und jetzt kann ich die Besuche für eine gewünschte Domain abfragen. Der Code lautet wie folgt:
Dim visits As String = String.Empty
Dim username As String = "[email protected]"
Dim pass As String = "mypassword"
'Folgen Sie den Anweisungen aufhttps://developers.google.com/analytics/resources/articles/gdata-migration-guide (Erstellen Sie ein Projekt in der Google APIs-Konsole), um Ihren Schlüssel zu generieren. 'Sobald Sie ihn als Teil der Abfrage festgelegt haben, können Sie unseren GA-Service anfordern
Dim gkey As String = "key=yourkeystring"
'Legen Sie den neuen URI fest, um die Feed-Daten abzurufen, und hängen Sie den generierten Schlüssel an
Dim dataFeedUrl As String = "https://www.google.com/analytics/feeds/data?" & gkey
'Erstellen und authentifizieren Sie auf unserer Service-Instanz
Dim service As AnalyticsService = New AnalyticsService("MyAnaliticsService")
service.setUserCredentials(username, pass)
'Verwenden Sie die Profil-ID für das Konto, von dem Sie diese Besuche erhalten möchten. Sie finden sie
Wenn Sie sich in Ihrem Analytics-Konto anmelden, wählen Sie die gewünschte Domain in Ihrer Liste aus (blauer Link), klicken Sie auf die Administrator-Schaltfläche und suchen Sie auf der Registerkarte "Profile" das Profil
Unterregister 'configuration', genau dort finden Sie die Profil-ID. In diesem Fall die acht Zeichen lange ID 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
'Verwenden Sie den generierten Datenfeed, der auf der vorherigen Abfrage basiert, um die Besuche zu erhalten
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