我正在使用 Live Connect Rest API 开发 poc。
(此处的文档:http://msdn.microsoft.com/en-us/windowslive/default)
使用下面链接中的示例,我可以登录用户并请求同意某些操作。
但是,我有几个与此相关的问题:
登录:http://msdn.microsoft.com/en-us/windowslive/hh278363#rest
谢谢!
将其添加到 XAML 文件中:
<Controls:SignInButton Grid.Row="0" ClientId="yourid" Scopes="wl.offline_access wl.skydrive_update" HorizontalAlignment="Right" VerticalAlignment="Bottom" SessionChanged="OnSessionChanged"
Margin="0,0,0,0" Width="160" Height="70" Background="Transparent" BorderBrush="{StaticResource TransparentBrush}" />
在此之前,将此行添加到同一文件中:
xmlns:Controls="clr-namespace:Microsoft.Live.Controls;assembly=Microsoft.Live.Controls"
控件将如下所示:
它将在用户登录或注销时自动更新。
在 C# 代码中,添加 OnSessionChanged 事件处理程序:
private void OnSessionChanged(object sender, LiveConnectSessionChangedEventArgs e)
{
//sign in
if (e.Error != null)
{
MessageBox.Show(e.Error.Message);
return;
}
if (e.Status == LiveConnectSessionStatus.Connected)
{
((App) Application.Current).Session = e.Session;
connectClient = new LiveConnectClient(((App) Application.Current).Session);
}
}
}
您看过这里吗:http://msdn.microsoft.com/en-us/library/live/hh243646.aspx#wlsignin?它将处理跳过同意请求和单点登录(即,如果用户登录 Live,然后被定向到身份验证页面,身份验证将自动进行,无需用户采取任何其他操作)。