C# ASP.NET MVC5 Google API GoogleWebAuthorizationBroker.AuthorizationAsync在本地工作,但未部署到IIS

C# ASP.NET MVC5 Google API GoogleWebAuthorizationBroker.AuthorizationAsync在本地工作,但未部署到IIS,c#,asp.net,asp.net-mvc,iis,google-glass,C#,Asp.net,Asp.net Mvc,Iis,Google Glass,我在尝试让MVC5应用程序在部署时与Google Mirror API(或任何Google API)一起工作时遇到了一个奇怪的问题 这就是我正在努力工作的代码: UserCredential credentials = GoogleWebAuthorizationBroker.AuthorizeAsync( new ClientSecrets { ClientId = "my_client_id", ClientSecret = "my_clien

我在尝试让MVC5应用程序在部署时与Google Mirror API(或任何Google API)一起工作时遇到了一个奇怪的问题

这就是我正在努力工作的代码:

UserCredential credentials = GoogleWebAuthorizationBroker.AuthorizeAsync(
    new ClientSecrets
    {
        ClientId = "my_client_id",
        ClientSecret = "my_client_Secret"
    },
    new[] { MirrorService.Scope.GlassTimeline }, 
    "username", 
    CancellationToken.None,
    new GlassDataStore()
).Result;
当我从Visual Studio 2013在本地运行此程序时,一切都运行得很好—上面的代码运行并进行身份验证,保存到数据库,我可以继续正常发送卡等

然而,每当我将其部署到“真正”的服务器时(主要是为了让订阅正常工作),执行上述代码时,它就会永远挂起。我已经设置了远程调试,可以看到代码实际上运行时没有异常,但似乎只是在之后立即停止

在浏览器中,在调用此代码(本例中是通过按钮)和w3p.exe开始消耗内存(速度相当慢,但呈上升趋势)之后,页面就在那里加载

整个周末我都很沮丧——我尝试了很多解决方案,包括用GoogleWebAuthorizationBroker的勇气实现代码,因为它实际上只是一个助手类,但我看到了完全相同的结果

我尝试部署到两个不同的服务器,并检查web.configs每次是否相同等

有什么建议吗?我希望这是我错过的一件非常简单的事情,并且是一个配置问题,因为它在本地工作

谢谢


编辑:环顾四周,在MVC中使用WebAuthorizationBroker可能不是最好的方法-我应该使用GoogleAuthorizationCodeFlows手动完成。我会在早上尝试,但仍然-在VS2013中运行的MVC5站点上使用代理效果很好,所以我被难倒了

我现在结束这个问题-最终的答案是使用GoogleAuthorizationCodeFlows来正确地完成它,现在一切正常:)


我在问题中描述的方法不再受谷歌的支持。

你能解释一下吗…(一些代码?)?这里有一个来自谷歌的示例,它不完整,但可以放在一起: