0

*ストア アプリを開発しています。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.TaskAwaiter1.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/

4

1 に答える 1

2

https://manage.dev.live.com/は非推奨です

アプリを Windows ストア アカウントに関連付ける必要があります。その後、ライブ サービスとプッシュ通知を使用できます。

  1. プロジェクト名を右クリックします。
  2. 「ストア」メニューをクリックします。
  3. 「アプリをストアに関連付ける」をクリックします。
  4. ログインを求められます。ストアアカウントでログインしてください。
  5. アプリの予約名をクリックします (アプリ名を予約している必要があると思います。それ以外の場合は、Windows ストア ダッシュボードに移動して、最初に予約します。)
  6. プロンプトが表示される他のプロセスに従います。
  7. プロジェクトはStore Key& newを取得しPackage Identityます。そのため、ライブ サービスとプッシュ通知を活用できます。
于 2013-06-07T13:21:12.173 に答える