Oauth2和YouTube - 我做错了什么?

时间:2015-12-10 22:16:54

标签: c# oauth-2.0 youtube-api

我已经很久没有成功了。 YouTube开发人员的示例似乎很简单,但我总是遇到同样的两个错误:

拒绝访问(在IIS上运行时)

redirect_uri_mismatch(在Visual Studio中运行时)

这是我总是失败的代码:

using (var stream = new FileStream("client_secrets.json", FileMode.Open, FileAccess.Read))
  {
    credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
        GoogleClientSecrets.Load(stream).Secrets,
        // This OAuth 2.0 access scope allows an application to upload files to the
        // authenticated user's YouTube channel, but doesn't allow other types of access.
        new[] { YouTubeService.Scope.YoutubeUpload },
        "user",
        CancellationToken.None
    );
  }

我有: - 更新了clients_secret并将其与Javascript版本一起使用,所以我很确定这不是问题 - 尝试创建自定义FileDataStore以添加为另一个参数

以下是调试时获得的Access Denied错误的更多详细信息。一旦我到达“凭证”行,它就会出现。

  

at Microsoft.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)      在Microsoft.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(任务任务)      at Google.Apis.Auth.OAuth2.GoogleWebAuthorizationBroker.d__1.MoveNext()in c:\ ApiaryDotnet \ default \ Src \ GoogleApis.Auth.DotNet4 \ OAuth2 \ GoogleWebAuthorizationBroker.cs:第59行   ---从抛出异常的先前位置开始的堆栈跟踪结束---      在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)      在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)      在System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()      在_Default.d__1.MoveNext()的c:\ Users \ Michael \ documents \ visual studio 2015 \ websites \ website1 \ Default.aspx.cs:第46行

这就是凭证出错之前出现在凭证的属性中的内容:

  

ReadTimeout ='stream.ReadTimeout'引发了类型'System.InvalidOperationException'的异常   WriteTimeout ='stream.WriteTimeout'引发了类型'System.InvalidOperationException'int {System.InvalidOperationException}

的异常

0 个答案:

没有答案