使用Google.Apis.Auth.OAuth2的SSIS C#脚本;

时间:2015-05-28 14:53:21

标签: ssis google-oauth google-analytics-api google-api-dotnet-client

我在SSIS中从GA API中提取了一个C#脚本。周一,Google通过基本身份验证关闭了对api的访问权限

AnalyticsService service = new AnalyticsService(Dts.Variables["CONFIG_GA_PROJECT"].Value.ToString());
                    service.setUserCredentials(username, pass);
  

=>得到404错误

所以我想转到以下安全实现:Accessing older GData APIs (Spreadsheet API) using OAuth 2 and a service account

问题是:似乎我们无法在SSIS脚本中使用nuget安装,因为必须在GAC中推送dll。

我尝试使用:How to install a DLL to the GAC on Windows Server 2012 using only PowerShell(无需安装SDK或Visual Studio)但是没有工作......

是否有人在SSIS C#Script任务中找到了使用Google.Apis.Auth.dll的方法?

1 个答案:

答案 0 :(得分:1)

您遇到的问题是由于Google .net客户端库未经强名称签名,因此无法将其推送给GAC。还要记住,目前的Google .net客户端只能与.net 4和.net 4.5配合使用,因此您可能会锁定旧版本的SSIS。

这是我在使用Oauth2的Google Analytics自定义SSIS数据读取器和连接管理器中未使用它们的原因。

选项:

  1. 强名称自己在客户端库中签名。代码here
  2. 等待释放库的强名称签名版本。我希望它尽快完成。 Strong Naming in binaries #238
  3. 做我所做的事情,并使用客户端库自己编写代码,这允许您编写.net 3.0代码并支持SQL Server 2005 - 2012,就像我的一样。
  4. 我希望这会有所帮助。我制作的那个是免费下载的,欢迎你看看Data Reader for Google Analytics