- Se l'utente ha precedentemente concesso il consenso necessario, Live non richiederà all'utente di concedere nuovamente. Non è necessario saltare manualmente.
- Non so quale sia la tua piattaforma, ma potresti trovare in qualche modo lo spazio di archiviazione della tua app isolato o crittografato. Ciò che è importante è che il token abbia un tempo di scadenza. Si può anche prendere in considerazione l'utilizzo di un controller fornito da Microsoft, in grado di gestire tutte le operazioni relative all'accesso Live. Ecco il mio esempio WP8:
Aggiungere questo nel file 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}" />
Prima di allora, aggiungere questa linea allo stesso file:
xmlns:Controls="clr-namespace:Microsoft.Live.Controls;assembly=Microsoft.Live.Controls"
E il controllo sarà simile this:
Si aggiornerà automaticamente come accesso utente o disconnessione.
Nel vostro codice C#, aggiungere il gestore di eventi OnSessionChanged ad esso:
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);
}
}
}