Grande risposta Richard. Questo ha davvero aiutato molto.
Ho notato un paio di commenti da persone che si lamentavano del fatto che non potevano trovare l'evento InitializedCompleted. Se si sta codificando in .Net 4.5, è necessario seguire lo schema asincrono/attesa per i metodi asincroni. La classe di cui sopra sarebbe simile a questa:
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 hanno un asincrona attendono di primer here
fonte
2013-04-07 08:42:00
crediti a: http://social.msdn.microsoft.com/Forums/en-GB/messengerconnect/thread/ a1ae8e9c-47a5-4bd8-b821-33dc1a0d6e94 – Richard
Grazie. Microsoft dovrebbe documentarlo. – ashraf
Grazie mille per questo breve e dolce codice. Non avevo un'idea chiara su come utilizzare LiveAuthClient. La nuova documentazione MSDN per Live SDK è così errata, [metodo LiveAuthClient (String)] [1] dice che il parametro stringa è L'URI di reindirizzamento. Non menziona nulla su ClientID. [1] http://msdn.microsoft.com/en-us/library/live/microsoft.live.liveauthclient.aspx – Adarsha