小编Mih*_*ica的帖子

GoogleWebAuthorizationBroker.AuthorizeAsync 在本地工作,但在生产 IIS 上挂起

我有一个使用 adsense api 的报告应用程序。我正在使用 GoogleWebAuthorizationBroker.AuthorizeAsync 进行身份验证。当我在本地运行它时,它工作正常,权限请求窗口打开,在我授予访问权限后一切正常我的问题是当我将它部署到生产服务器并在 IIS 上运行时,GoogleWebAuthorizationBroker.AuthorizeAsync 永远挂起。我的猜测是它试图打开服务器上的授权窗口,但无法做到这一点。我没有编写这个实现,它已经投入生产一段时间了,它曾经工作得很好。我不确定发生了什么以及是否发生了变化,但现在不起作用。我四处冲浪并尝试了不同的方法 bot 都没有奏效。当我尝试使用 GoogleAuthorizationCodeFlow 并将 AccessType 设置为“离线”时 并且使用提供的 URI 它仍然不起作用。我也尝试使用服务帐户,但后来我了解到它们不支持 Adsense。下面是代码示例

    var credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                new ClientSecrets
                {
                    ClientId = ConfigurationManager.AppSettings["AdSenseClientId"],
                    ClientSecret = ConfigurationManager.AppSettings["AdSenseClientSecret"]
                },
                new string[] { AdSenseService.Scope.Adsense },
                "xxxxxxxx@gmail.com",
                CancellationToken.None).Result;
            // Create the service.
            adSenseService = new AdSenseService(new BaseClientService.Initializer
            {
                HttpClientInitializer = credential,
                ApplicationName = "My API Project"
            });
    var adClientRequest = adSenseService.Adclients.List();
        var adClientResponse = adClientRequest.Execute();
Run Code Online (Sandbox Code Playgroud)

对于解决此问题的示例代码,我会非常满意。我看到了这篇文章(ASP.NET MVC5 Google APIs GoogleWebAuthorizationBroker.AuthorizeAsync 在本地工作但未部署到 IIS),但它没有代码示例,也没有帮助我。

先感谢您。

c# adsense-api

5
推荐指数
1
解决办法
1824
查看次数

标签 统计

adsense-api ×1

c# ×1