Große Antwort Richard. Das hat mir sehr geholfen.
Ich bemerkte ein paar Kommentare von Leuten, die sich beschweren, dass sie das InitializedCompleted Event nicht finden konnten. Wenn Sie in .Net 4.5 codieren, müssen Sie dem async/await-Muster für asynchrone Methoden folgen. Die Klasse oben würde wie folgt aussehen:
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;
}
}
MS haben einen Asynchron warten Primer here
Credits: http://social.msdn.microsoft.com/Forums/en-GB/messengerconnect/thread/ a1ae8e9c-47a5-4bd8-b821-33dc1a0d6e94 – Richard
Danke. Microsoft sollte es dokumentieren. – ashraf
Vielen Dank für dieses kurze und süße Stück Code. Ich hatte keine klare Vorstellung davon, wie LiveAuthClient verwendet werden sollte. Die neue MSDN-Dokumentation für Live SDK ist so falsch, [LiveAuthClient (String) -Methode] [1] besagt, dass der Zeichenfolgenparameter The redirect URI ist. Es erwähnt nichts über ClientID. [1] http://msdn.microsoft.com/en-us/library/live/microsoft.live.liveauthclient.aspx – Adarsha