Ric*_*ard 15 c# silverlight sdk live windows-phone-7
有没有办法登录到Live的应用程序(Silverlight,WP7可以),而无需单击登录按钮.
我想动态地记录我,例如:当你启动应用程序时,我想登录给我.如何在不诉诸按钮的情况下做到这一点?
Ric*_*ard 29
我想出了怎么做,所以我决定分享:
using System.Windows;
using Microsoft.Live;
public class LiveLogin
{
private static readonly string[] scopes =
new string[] {
"wl.signin",
"wl.basic",
"wl.calendars",
"wl.calendars_update",
"wl.contacts_calendars",
"wl.events_create" };
private LiveAuthClient authClient;
private LiveConnectClient liveClient;
public LiveLogin()
{
this.authClient = new LiveAuthClient("**your client id here**");
this.authClient.InitializeCompleted += authClient_InitializeCompleted;
this.authClient.InitializeAsync(scopes);
}
private void authClient_InitializeCompleted(object sender, LoginCompletedEventArgs e)
{
if (e.Status == LiveConnectSessionStatus.Connected)
{
this.liveClient = new LiveConnectClient(e.Session);
}
else
{
this.authClient.LoginCompleted += authClient_LoginCompleted;
this.authClient.LoginAsync(scopes);
}
}
private void authClient_LoginCompleted(object sender, LoginCompletedEventArgs e)
{
if (e.Status == LiveConnectSessionStatus.Connected)
{
this.liveClient = new LiveConnectClient(e.Session);
MessageBox.Show("Signed");
}
else
{
MessageBox.Show("Failed!");
}
}
}
Run Code Online (Sandbox Code Playgroud)
Fas*_*ons 10
理查德.这真的帮了很多忙.
我注意到有人抱怨他们无法找到InitializedCompleted事件.如果您在.Net 4.5中编码,那么您需要遵循异步方法的异步/等待模式.上面的类看起来像这样:
public class LiveLogin
{
private static readonly string[] Scopes =
new[]
{
"wl.signin",
"wl.basic",
"wl.calendars",
"wl.calendars_update",
"wl.contacts_calendars",
"wl.events_create"
};
private LiveAuthClient _authClient;
public async Task<LiveConnectClient> Login()
{
_authClient = new LiveAuthClient("**your client id here**");
LiveLoginResult result = await _authClient.InitializeAsync(Scopes);
if (result.Status == LiveConnectSessionStatus.Connected)
{
return new LiveConnectClient(result.Session);
}
result = await _authClient.LoginAsync(Scopes);
if (result.Status == LiveConnectSessionStatus.Connected)
{
return new LiveConnectClient(result.Session);
}
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
MS 在这里有异步等待入门
| 归档时间: |
|
| 查看次数: |
8994 次 |
| 最近记录: |