【问题标题】:UnauthorizedAccessException using Google Apis in a site running on IISUnauthorizedAccessException 在 IIS 上运行的站点中使用 Google API
【发布时间】:2014-04-01 11:40:29
【问题描述】:

过去几天我一直在为一个必须使用 Google API(日历)的 Asp.Net MVC 网站而苦苦挣扎 它在 ASP.Net 开发服务器或 IISExpress 中运行良好,但在 IIS 7.5 上无法运行。

这是基本的验证码:

private async Task Run()
{
    UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(new ClientSecrets
           {
               ClientId = "xxxxxxx",
               ClientSecret = "xxxxx",
           },
           new[] { CalendarService.Scope.Calendar },
           "xxx@gmail.com",
           CancellationToken.None).Result;

在 IIS 上我总是得到这个:

[UnauthorizedAccessException: L'accès au chemin d'accès 'Google.Apis.Auth' est refusé.]
Microsoft.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +185
Microsoft.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(Task task) +114
Google.Apis.Auth.OAuth2.<AuthorizeAsync>d__1.MoveNext() in c:\code\google.com\google-api-dotnet-client\default\Tools\Google.Apis.Release\bin\Debug\output\default\Src\GoogleApis.Auth.DotNet4\OAuth2\GoogleWebAuthorizationBroker.cs:54

(异常文本的意思是“访问路径'Google.Apis.Auth'被拒绝)

之前版本API版本有问题,升级到1.8.1.31688版本还是报错... 我的应用程序池在网络服务身份下运行,我授予它对我的网站文件夹的完全控制访问权限(我什至授予“所有人”完全控制权,以防万一......)但结果相同。

在我的开发计算机(可以使用 IISExpress 覆盖)和产品服务器上出现相同的症状,这更“烦人”...

感谢您为我提供的任何帮助!

【问题讨论】:

    标签: iis-7.5 google-api-dotnet-client


    【解决方案1】:

    IIS 是否在部分信任下运行?它也可能试图写入系统或 ASP.NET 临时目录并失败。

    【讨论】:

    • 我在 system.web 中添加了 ,所以我猜没有。我还向 NetworkService 添加了对 ASP.Net 临时文件夹的完全控制,而不是更好......不过感谢您的提示
    【解决方案2】:

    您可以在 FileDataStore 的取消标记之后添加一个附加参数。这告诉了令牌应该存储在哪里。默认位置在系统上 C:\ 驱动器的 AppData 文件夹中。将您的参数更新为如下所示:

    ...
       "xxx@gmail.com",
       CancellationToken.None,
       New FileDataStore("XXX")).Result
    

    ;

    其中“XXX”是您希望存储它的本地计算机上的完整路径。在 C# 中,您可以使用 Server.MapPath 到达您网站的根目录,然后将令牌应该存储的位置。

    ** 注意:虽然我知道这个参数在这里,但我仍然得到这个错误。我在我的网站的根目录中添加了一个文件夹,并向每个人授予了完全权限,但仍然出现此错误。如果你能解决这个问题,请告诉我。

    【讨论】:

      猜你喜欢
      • 2020-06-27
      • 2017-12-20
      • 2013-02-10
      • 1970-01-01
      • 2018-09-29
      • 2016-05-10
      • 1970-01-01
      • 2014-09-11
      • 2017-05-09
      相关资源
      最近更新 更多