获取.NET Google API RefreshToken - 拒绝访问

时间:2016-04-28 14:12:50

标签: c# .net azure oauth google-api

我尝试使用此代码通过Google.Apis.Auth.OAuth2库获取应用程序的Google刷新令牌。 当我在 localhost 上使用它时,它完美无缺,但是当我在 Azure网站下使用它时,它会抛出System.AggregateException 访问被拒绝InnerException。

UserCredential credential =
GoogleWebAuthorizationBroker.AuthorizeAsync(
    new ClientSecrets()
    {
        ClientId = "<client_id>",
        ClientSecret = "<client_secret>"
    },
    new string[] { },
    Environment.UserName,
    CancellationToken.None,
    null
).Result;

string refreshToken = credential.Token.RefreshToken;

内部例外是:

  

InnerException消息:System.Net.HttpListener.SetupV2Config()拒绝访问      在System.Net.HttpListener.Start()      在Google.Apis.Auth.OAuth2.LocalServerCodeReceiver.d__6.MoveNext()   ---从抛出异常的先前位置开始的堆栈跟踪结束---      在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)      在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)      在Google.Apis.Auth.OAuth2.AuthorizationCodeInstalledApp.d__8.MoveNext()   ---从抛出异常的先前位置开始的堆栈跟踪结束---      在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)      在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)      在Google.Apis.Auth.OAuth2.GoogleWebAuthorizationBroker.d__4.MoveNext()   ---从抛出异常的先前位置开始的堆栈跟踪结束---      在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)      在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)      在Google.Apis.Auth.OAuth2.GoogleWebAuthorizationBroker.d__1.MoveNext()

还有其他方法可以获得刷新令牌吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您是否已将Azure URI配置为Google控制台API管理器中的授权?