我正在尝试使用Windows 8应用中的OAuth
与Google进行身份验证。我正在使用Google .NET客户端API,遵循此tutorial。但是,当我使用GoogleWebAuthorizationBroker
类时,我不断收到异常。
我的代码是从链接教程中复制/粘贴的。 client_secrets.json包含我从Google API控制台下载的文件。我确实检查它是否已复制到已安装的应用程序,我可以打开它。 Calendar API已开启。
UserCredential credidential = null;
credidential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
new Uri("ms-appx:///Assets/client_secrets.json"),
new[] { Uri.EscapeUriString(CalendarService.Scope.Calendar) },
"user", CancellationToken.None);
围绕try / catch中的这一行告诉我它因以下原因而失败:
System.AggregateException:发生了一个或多个错误。 ---> System.Exception:进程意外终止。 (例外 HRESULT:0x8007042B)at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务) System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 System.Runtime.CompilerServices.TaskAwaiter
1.GetResult() at Google.Apis.Auth.OAuth2.AuthorizationCodeBroker.<ReceiveCodeAsync>d__10.MoveNext() in c:\code\google.com\google-api-dotnet-client\default\Tools\Google.Apis.Release\bin\Debug\output\default\Src\GoogleApis.Auth.WinRT\OAuth2\AuthorizationCodeBroker.cs:line 69 --- End of inner exception stack trace --- at Microsoft.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at Microsoft.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(Task task) at Microsoft.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) at Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable
1.ConfiguredTaskAwaiter.GetResult() 在 Google.Apis.Auth.OAuth2.AuthorizationCodeInstalledApp.d__0.MoveNext() 在 C:\代码\ google.com \ Google处理API-DOTNET客户端\默认\工具\ Google.Apis.Release \ BIN \调试\输出\默认\ SRC \ GoogleApis.Auth \的OAuth2 \ AuthorizationCodeInstalledApp.cs:线 74 ---从抛出异常的先前位置开始的堆栈跟踪结束--- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务) System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务) System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult() at Google.Apis.Auth.OAuth2.AuthorizationCodeWinRTInstalledApp.<AuthorizeAsync>d__0.MoveNext() in c:\code\google.com\google-api-dotnet-client\default\Tools\Google.Apis.Release\bin\Debug\output\default\Src\GoogleApis.Auth.WinRT\OAuth2\AuthorizationCodeWinRTInstalledApp.cs:line 65 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.ConfiguredTaskAwaitable
1.ConfiguredTaskAwaiter.GetResult() 在 Google.Apis.Auth.OAuth2.GoogleWebAuthorizationBroker.d__6.MoveNext() 在 C:\代码\ google.com \ Google处理API-DOTNET客户端\默认\工具\ Google.Apis.Release \ BIN \调试\输出\默认\ SRC \ GoogleApis.Auth.WinRT \的OAuth2 \ GoogleWebAuthorizationBroker.cs:线 73 ---从抛出异常的先前位置开始的堆栈跟踪结束--- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务) System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务) System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult() at Google.Apis.Auth.OAuth2.GoogleWebAuthorizationBroker.<AuthorizeAsync>d__0.MoveNext() in c:\code\google.com\google-api-dotnet-client\default\Tools\Google.Apis.Release\bin\Debug\output\default\Src\GoogleApis.Auth.WinRT\OAuth2\GoogleWebAuthorizationBroker.cs:line 48 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter
1.GetResult() 在kk_youtube_metro.GroupedItemsPage.d__5.MoveNext()中 c:\ Users \ Karol \ Documents \ Visual Studio 2012 \项目\ KK-的YouTube,地铁\ KK-的YouTube,地铁\ GroupedItemsPage.xaml.cs:行 68 ---&GT; (内部异常#0)System.Exception:进程意外终止。 (来自HRESULT的异常:0x8007042B)at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务) System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 在 Google.Apis.Auth.OAuth2.AuthorizationCodeBroker.d__10.MoveNext() 在 C:\代码\ google.com \ Google处理API-DOTNET客户端\默认\工具\ Google.Apis.Release \ BIN \调试\输出\默认\ SRC \ GoogleApis.Auth.WinRT \的OAuth2 \ AuthorizationCodeBroker.cs:线 69&LT; ---
我错过了什么?
答案 0 :(得分:1)
pelayal在问题评论中发布的link提供了解决方案。我的个人资料有问题。创建一个新帐户修复它。
答案 1 :(得分:1)
检查上面