0

我正在重写一个从谷歌分析 API 获取数据的 Windows 服务,因为我们当前的版本在 v2.3 上运行并且我们想要升级到 v3。

我已经下载了 google api .net 库并具有以下代码来授权和从 google 获取数据。我知道查询没问题,因为它在查询资源管理器中运行。

当我从我的服务器运行它时,我收到一个 401 错误,凭据无效,并且不知道如何修复它。我正在使用以下代码。

    Dim auth As New OAuth2LeggedAuthenticator(ConsumerKey, ConsumerSecret, User, DomainName)

    Dim ga As New AnalyticsService(auth)
    ga.Key = ApiKey ' Simple API Access - API Key 

    Dim query = ga.Data.Ga.Get("ga:" + myprofileID, _startDate.ToString("yyyy-MM-dd"), _endDate.ToString("yyyy-MM-dd"), "ga:totalEvents")
    query.Dimensions = "ga:eventLabel,ga:source,ga:medium,ga:keyword,ga:campaign,ga:isMobile,ga:date"

    Dim res = query.Fetch

提取返回 401,不确定它在做什么,似乎没有办法使用 Oauth2leggedauthentication 类设置范围,这可能是一个问题。

此外,我正在为 Web 应用程序使用客户端 ID 和密码,我也为已安装的应用程序设置了一个,但两者都无法正常工作。

Oauth2LeggedAuthenticator 或 AnalyticsService 都没有公开 Oauth 令牌,所以我想知道这是否是问题的一部分,但也不知道如何解决这个问题。

4

1 回答 1

0

最后,如果不恢复使用 ClientLogin 进行身份验证,我就无法解决这个问题

https://developers.google.com/accounts/docs/AuthForInstalledApps

它已被弃用,但希望在 2015 年弃用政策结束时会有更优雅的 OAuth 解决方案

于 2012-06-13T09:36:47.910 回答