- Jeśli użytkownik udzielił uprzednio wymaganej zgody, usługa Live nie poprosi użytkownika o ponowne udzielenie zgody. Nie musisz pomijać ręcznie.
- Nie wiem, jaka jest twoja platforma, ale może się zdarzyć, że Twoja aplikacja zostanie odizolowana lub zaszyfrowana. Ważne jest to, że token ma czas wygaśnięcia. Możesz także rozważyć użycie kontrolera dostarczonego przez Microsoft, który może obsłużyć wszystkie rzeczy związane z logowaniem na żywo. Oto mój przykład WP8:
Dodaj ten w pliku 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}" />
wcześniej, dodać tę linię do tego samego pliku:
xmlns:Controls="clr-namespace:Microsoft.Live.Controls;assembly=Microsoft.Live.Controls"
i kontroli będzie wyglądać to:
Zostanie ono automatycznie zaktualizowane jako logowanie użytkownika lub wylogowanie.
W swojej kod C#, dodać OnSessionChanged obsługi zdarzeń do niego:
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);
}
}
}