积极答复者
关于sky drive 的login问题

问题
-
我的代码是这样的:
public LiveConnectSession Session
{
get;set;
}private async void InitAuth()
{
if (!Windows.ApplicationModel.DesignMode.DesignModeEnabled)
{
LiveAuthClient authClient = new LiveAuthClient();
LiveLoginResult authResult =
await authClient.LoginAsync(new List<string>() { "wl.signin", "wl.basic", "wl.skydrive" });
if (authResult.Status == LiveConnectSessionStatus.Connected)
{
this.Session = authResult.Session;
}
}
}在app.xaml.cs中的 protected override void OnLaunched(LaunchActivatedEventArgs args)的最后调用InitAuth();
运行到 LiveLoginResult authResult = await authClient.LoginAsync(new List<string>() { "wl.signin", "wl.basic", "wl.skydrive" });时会异常,中断。错误原因是:无可用源,调用堆栈中只包含外部代码。
同样的代码换一台电脑就可以正常运行。 请问这个是怎么回事呢?
答案
-
测试了下,在绑定MS Account和没有绑定情形下,都是可以正常运行。 我这里突然想起,你是否按照向导设置 这个应用的 名字,Pulisher名字和包名,你是否在 https://manage.dev.live.com/build?wa=wsignin1.0 上面创建了一个应用?注意,你在appxmanifest 打包Tab中看到的证书显示的发布者名一定要和网站上的对应, 包名和包的显示名也要一致。例如我的测试项目的设置:
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 vickie shi 2012年7月13日 6:28
全部回复
-
看下是否是不同的编译模式,平台 release / debug , x86/x64/any cpu ?
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
-
Windows 8绑定了MS Account之后,使用Live SDK的应用会默认使用当前系统的MS Account进行登陆,你可以通过 OnlineIdServiceTicketRequest 在已登陆MS Account的情况下来请求所需要的服务,如:
var onlineIdAuthenticator = new OnlineIdAuthenticator();
var serviceTicketRequest = new OnlineIdServiceTicketRequest("wl.basic"); await onlineIdAuthenticator.AuthenticateUserAsync(serviceTicketRequest);
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
-
哦? 比较奇怪,我这里你同样的代码是测试过的,并且还写过Live SDK的例子。 看上去可能是SDK 有问题,是否是安装上的问题,请先看看是否之前安装过先前的版本,或者卸载了再次安装一下。
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
-
我用的是live SDK v5.2,是在http://www.microsoft.com/en-us/download/details.aspx?id=29938 上下载的,安装时没有报错,vs用的是 VS2012RC, 我确认了一下,试过3台电脑都有这个问题,我现在项目就卡在这个问题上面了,请求帮助。
-
这样吧,如果方便的话,分享一份你的程序给我,我来测试. 可以放到SkyDrive.com 或者直接邮件我 v-bobbao (at) microsoft.com
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
-
测试了下,在绑定MS Account和没有绑定情形下,都是可以正常运行。 我这里突然想起,你是否按照向导设置 这个应用的 名字,Pulisher名字和包名,你是否在 https://manage.dev.live.com/build?wa=wsignin1.0 上面创建了一个应用?注意,你在appxmanifest 打包Tab中看到的证书显示的发布者名一定要和网站上的对应, 包名和包的显示名也要一致。例如我的测试项目的设置:
Bob Bao [MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 vickie shi 2012年7月13日 6:28