Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1909, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

SkyDrive in Windows Store/Phone: login da codice

In post precedenti, abbiamo visto come utilizzare il Live SDK per fare il backup di file sul proprio SkyDrive (in particolare in applicazioni Windows Phone, ma il concetto vale anche per Windows 8.x).

L'SDK in questione offre un pulsante, chiamato SignInButton, che gestisce tutto e, al verificarsi di un evento, restituisce lo stato della connessione.

Ci sono casi in cui, però, non vogliamo utilizzare il pulsante predefinito. Ad esempio, in una Store app potremmo voler mettere un pulsante nell'app bar. Quindi dobbiamo gestire da codice la procedura di login e intercettare a manina lo stato della connessione.

Qualunque sia lo scenario, si può usare un metodo come il seguente:

    Private Shared ReadOnly Scopes As String() = New String() {"wl.signin""wl.basic""wl.skydrive""wl.photos""wl.skydrive_update"}
    
Private _authClient As LiveAuthClient

    
Public Async Function Login() As Task(Of LiveConnectClient)
        
Try
            _authClient = 
New LiveAuthClient()

            
Dim result As LiveLoginResult = Await _authClient.LoginAsync(Scopes)
            
If result.Status = LiveConnectSessionStatus.Connected Then
                
Return New LiveConnectClient(result.Session)
            
Else
                
Return Nothing
            
End If

        
Catch ex As Exception
            
Return Nothing
        
End Try

    
End Function

Dichiariamo una serie di "scopes", ossia cosa dovrà fare il client; sicuramente signin, sicuramente basic, sicuramente skydrive e normalmente anche skydrive_update.

L'istanza della classe LiveAuthClient espone un metodo chiamato LoginAsync, al cui completamento viene restituito un riferimento alla connessione, se positiva. Diversamente viene restituito Nothing. Ci basterà quindi avere il risultato della chiamata per sapere se siamo connessi.

Le API di SkyDrive mostreranno automaticamente l'interfaccia di connessione.

Alessandro

Print | posted on domenica 8 dicembre 2013 13:41 | Filed Under [ Silverlight e Windows Phone UWP e Windows Store Apps ]

Powered by:
Powered By Subtext Powered By ASP.NET