我在尝试从GoogleAnalytics API获取几天前运行良好的代码的数据时遇到了一个问题。
为此,我引用了以下DLL:
Google.GData.Analytics.dll
Google.GData.Client.dll
Google.GData.Extensions.dll
我正在使用以下代码:
Dim visits As String = String.Empty
Dim username As String = "myuser@mydomain.com"
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
我以为这与我正在使用的帐户被屏蔽有关,但事实并非如此,因为我验证了为另一个分析帐户注册该网站,但仍然不起作用。
正如我所说,这个代码一直在完美地工作,但昨天突然停止了。
你能帮我弄清楚出了什么问题吗?。也许设置用户凭据的方式已经改变,我缺少了一些东西。
非常感谢你的帮助。
'----更新----我设法使它工作,现在我可以查询访问所需的域。代码如下:
Dim visits As String = String.Empty
Dim username As String = "myuser@mydomain.com"
Dim pass As String = "mypassword"
'按照https://developers.google.com/analytics/resources/articles/gdata-migration-guide(在Google API控制台中创建一个项目)以生成密钥"一旦您将其设置为查询字符串的一部分,以请求我们的GA服务
Dim gkey As String = "key=yourkeystring"
'设置新的URI以检索提要数据,并将生成的密钥附加到其中
Dim dataFeedUrl As String = "https://www.google.com/analytics/feeds/data?" & gkey
'在我们的服务实例上创建和验证
Dim service As AnalyticsService = New AnalyticsService("MyAnaliticsService")
service.setUserCredentials(username, pass)
'使用您想要访问的帐户的配置文件id,您可以找到它
'登录您的分析帐户,在列表中选择所需的域(蓝色链接)单击"管理员"按钮,然后在"配置文件"选项卡上查找配置文件
'配置子选项卡,在这里您可以找到配置文件id,在本例中为8个字符长的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
'使用基于前一个查询生成的数据源来获取访问
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
我也有同样的问题,看起来谷歌最近关闭了提要。它在另一个帖子中得到了回复。Issue com.google.gdata.util.ResourceNotFoundException:在谷歌分析中找不到
请确保您在API控制台中注册了您的项目,并将API密钥与您的请求一起发送。
如果这不是问题所在,检查内部异常将为您提供有关错误的更多详细信息。作为替代方案,您可以使用Fiddler来捕获HTTP请求和响应。后者将包含更具描述性的错误消息。