适用于 Windows Phone 8 的 Live SDK
本文关键字:Live SDK Windows Phone 适用于 | 更新日期: 2023-09-27 17:55:52
干草,我正在学习Windows Phone 8的实时SDK,我正在使用Live SDK 5.5。我已经下载了SDK,安装了它并在我的项目中引用了它我还为我的应用程序创建了一个密钥,并遵循了此处的确切代码这就是我的代码:XAML
<live:SignInButton ClientId="my ID" x:Name="btnSignin" Scopes="wl.signin wl.basic" Branding="Skydrive" SessionChanged="btnSignin_SessionChanged" Margin="10,0,-10,194" Height="104" VerticalAlignment="Bottom" />
<TextBlock Height="102" Foreground="White" HorizontalAlignment="Left" Margin="26,128,0,0" Name="infoTextBlock" VerticalAlignment="Top" Width="419" />
</Grid>
这就是我的 C# 代码
private async void btnSignin_SessionChanged(object sender, LiveConnectSessionChangedEventArgs e)
{
if (e.Status == LiveConnectSessionStatus.Connected)
{
client = new LiveConnectClient(e.Session);
LiveOperationResult operationResult = await client.GetAsync("me");
try
{
dynamic meResult = operationResult.Result;
if (meResult.first_name != null &&
meResult.last_name != null)
{
infoTextBlock.Text = "Hello " +
meResult.first_name + " " +
meResult.last_name + "!";
}
else
{
infoTextBlock.Text = "Hello, signed-in user!";
}
}
catch (LiveConnectException exception)
{
this.infoTextBlock.Text = "Error calling API: " +
exception.Message;
}
}
else
{
infoTextBlock.Text = "Not signed in.";
}
}
但是该应用程序没有向我显示登录页面,以便我输入我的真实帐户的用户名和密码,它只是加载,然后在文本框中显示"未登录"。
在检查注释后发现,将wl.skydrive
添加到 Scopes 属性解决了该问题:
<live:SignInButton ClientId="my ID" x:Name="btnSignin" Scopes="wl.signin wl.basic wl.skydrive"
Branding="Skydrive" SessionChanged="btnSignin_SessionChanged" Margin="10,0,-10,194"
Height="104" VerticalAlignment="Bottom"/>
有关可用作用域的详细信息,请参阅此处的 MSDN。
此外,您的应用程序应该在您的帐户中标记为移动设备。