*ストア アプリを開発しています。manage.dev.live.com の ClientID と Client Secret は、Azure portal のモバイル サービスの [ID] タブにコピーされ、manage.dev と Azure portal の両方でリダイレクト ドメインがコピーされます。マッチ。また、ストアアプリケーションを VS 内から manage.dev.live.com のアプリに関連付けました。しかし、それでもアプリでエラーが発生します。*参考までに、私は dev.live.com と Azure Portal に別のライブ アカウントを使用していますが、それが影響するかどうかはわかりません。ブレークポイントを置くと、次の行でエラーが発生します-
LiveLoginResult result = await liveidclient.LoginAsync(new[] { "wl.basic" });
ところで、ユーザー名とパスワードを入力するためのログイン プロンプトが表示されます。[OK] をクリックすると、アプリがクラッシュし、「ライブ接続サービスを使用するようにアプリが正しく構成されていません」というメッセージが表示されます。アプリを設定するには、次の手順に従ってください
こんにちは、これは私の例外の詳細です-
Microsoft.Live.LiveAuthException は処理されませんでした HResult=-2146233088 Message=Live Connect サービスを使用するようにアプリが正しく構成されていません。アプリを構成するには、 http: //go.microsoft.com/fwlink/?LinkId=220871の手順に従ってください。Source=Microsoft.Live ErrorCode=invalid_request StackTrace: at Microsoft.Live.LiveAuthClient.d_ 4.MoveNext() --- 例外がスローされた前の場所からのスタック トレースの終わり --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (タスク タスク) System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification で (タスク タスク) System.Runtime.CompilerServices.TaskAwaiter で1.GetResult()
at DeltaVMobile.MainPage.<Authenticate>d__4.MoveNext() in MainPage.xaml.cs:line 99
--- 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 DeltaVMobile.MainPage.<OnNavigatedTo>d__0.MoveNext() in MainPage.xaml.cs:line 75
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<ThrowAsync>b__0(Object state)
at System.Threading.WinRTSynchronizationContext.Invoker.InvokeCore()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
InnerException:
HResult=-2138701823
Message=Authentication target is invalid or not configured correctly. (Exception from HRESULT: 0x80860001)
Source=mscorlib
StackTrace:
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter
1.GetResult() at Microsoft.Live.TailoredAuthClient.d _12.MoveNext() --- 例外がスローされた前の場所からのスタック トレースの終わり --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(タスク タスク) で System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() で Microsoft.Live.TailoredAuthClient.d__0.MoveNext() InnerException:
以下は私が使用しているコードです
LiveAuthClient liveidclient = new LiveAuthClient("https://deltavauth.azure-mobile.net/");
while (session == null)
{
if (liveidclient.CanLogout)
{
liveidclient.Logout();
}
LiveLoginResult result = await liveidclient.LoginAsync(new[] { "wl.basic" });
if (result.Status == LiveConnectSessionStatus.Connected)
{
session = result.Session;
LiveConnectClient client = new LiveConnectClient(result.Session);
LiveOperationResult mresult = await client.GetAsync("me");
MobileServiceUser loginresult = await App.MobileService.LoginWithMicrosoftAccountAsync(result.Session.AuthenticationToken);
string title = string.Format("Welcome {0} !", mresult.Result["first_name"]);
var message = string.Format("You are now logged in -{0}", loginresult.UserId);
var dialog = new MessageDialog(title);
dialog.Commands.Add(new UICommand("OK"));
await dialog.ShowAsync();
}
else
{
session = null;
var dialog = new MessageDialog("You must login to use DeltaV", "Login Required");
dialog.Commands.Add(new UICommand("OK"));
await dialog.ShowAsync();
}
参考までに、これはチュートリアルの URL です - http://www.windowsazure.com/en-us/develop/mobile/tutorials/single-sign-on-windows-8-dotnet/。