Google内容服务在执行时等待错误

时间:2015-04-03 14:19:02

标签: c# asynchronous gdata

我正在尝试使用以下代码将产品列表推送到Google:

string path = HttpContext.Current.Server.MapPath("/keya.p12");
            String serviceAccountEmail = "#######@developer.gserviceaccount.com";
            var certificate = new X509Certificate2(@path, "notasecret", X509KeyStorageFlags.Exportable);
            var init = new ServiceAccountCredential.Initializer(serviceAccountEmail)
            {
                Scopes = new[] { Google.Apis.Content.v2.ContentService.Scope.Content }
            }.FromCertificate(certificate);

            ServiceAccountCredential credential = new ServiceAccountCredential(init);

            // Create the service.
            service = new Google.Apis.Content.v2.ContentService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName = "MY APP",
            });
service.Products.Insert(p, ######).Execute();

但是,无论我做什么,我都会在该行上收到此错误:

  

方法   System.Runtime.CompilerServices.AsyncTaskMethodBuilder 1[System.Net.Http.HttpResponseMessage].AwaitUnsafeOnCompleted: type argument 'Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable 1 + ConfiguredTaskAwaiter [System.Net.Http.HttpResponseMessage]'   违反了类型参数约束' TAwaiter'

我在WebAPI控制器中运行此代码。我也尝试过Generic Handler并得到同样的错误。我找到的一个引用是说我更新了我的Microsoft.Bcl包,我没做任何更改。

1 个答案:

答案 0 :(得分:0)

我建议您更新整个Google.Apis.Calendar.v3库。 在您的NuGet控制台中,执行Install-Package Google.Apis.Calendar.v3以获取最新版本的软件包及其依赖项。

在向服务帐户拨打日历时,我遇到了同样的错误。我正在使用该库的1.8.1.820版本。更新为我解决了问题。