Ошибка Live SDK LiveAuthClient.InitializeAsync
Работая над своим приложением, чтобы обеспечить резервное копирование резервных копий, я смог заставить кнопку "Войти" работать должным образом. После дальнейшего уточнения я начинаю использовать LiveAuthClient.InitializeAsync, но, кажется, неважно, куда я его положу (поток пользовательского интерфейса или нет) или какие области я передаю, я всегда получаю ошибку:
"An unhandled exception of type 'System.Runtime.Serialization.InvalidDataContractException' occurred in System.Windows.ni.dll"
со следующим стеком вызовов:
System.Windows.ni.dll!MS.Internal.JoltHelper.OnUnhandledException(object sender, System.UnhandledExceptionEventArgs args)
[Native to Managed Transition]
[Managed to Native Transition]
System.Windows.ni.dll!System.Net.Browser.ClientHttpWebRequest.InvokeGetResponseCallback.AnonymousMethod__1b(object state2)
mscorlib.ni.dll!System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(object state)
mscorlib.ni.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)
mscorlib.ni.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)
mscorlib.ni.dll!System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
mscorlib.ni.dll!System.Threading.ThreadPoolWorkQueue.Dispatch()
mscorlib.ni.dll!System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
[Native to Managed Transition]
Код:
Microsoft.Live.LiveAuthClient auth = new Microsoft.Live.LiveAuthClient("ClientId");
auth.InitializeCompleted += auth_InitializeCompleted;
auth.InitializeAsync(new string[] { "wl.signin", "wl.offline_access", "wl.skydrive_update" });
Использование Windows Phone 7.1 с VS 2012 Express для Windows Phone с версией 5 Live SDK. Любая помощь / понимание будет принята с благодарностью!
1 ответ
Возможен глупый ответ, но...
Я предполагаю, что "ClientId" является просто заполнителем в коде, который вы опубликовали, верно?
В противном случае там должен быть указан правильный ClientId, который вы получите после регистрации приложения.