Живой SDK для Windows Phone 8

Привет, я изучаю live SDK для Windows Phone 8 и использую Live SDK 5.5. Я загрузил SDK, установил его и сослался на него в своем проекте. Я также создал ключ для своего приложения и следовал точному коду в здесь и это мой код: XAML

    <live:SignInButton ClientId="my ID" x:Name="btnSignin" Scopes="wl.signin wl.basic" Branding="Skydrive" SessionChanged="btnSignin_SessionChanged" Margin="10,0,-10,194" Height="104" VerticalAlignment="Bottom"  />
    <TextBlock Height="102" Foreground="White" HorizontalAlignment="Left" Margin="26,128,0,0" Name="infoTextBlock" VerticalAlignment="Top" Width="419" />
</Grid>

и это мой код С#

    private async void btnSignin_SessionChanged(object sender, LiveConnectSessionChangedEventArgs e)
    {
        if (e.Status == LiveConnectSessionStatus.Connected)
        {
            client = new LiveConnectClient(e.Session);
            LiveOperationResult operationResult = await client.GetAsync("me");
            try
            {
                dynamic meResult = operationResult.Result;
                if (meResult.first_name != null &&
                    meResult.last_name != null)
                {
                    infoTextBlock.Text = "Hello " +
                        meResult.first_name + " " +
                        meResult.last_name + "!";
                }
                else
                {
                    infoTextBlock.Text = "Hello, signed-in user!";
                }
            }
            catch (LiveConnectException exception)
            {
                this.infoTextBlock.Text = "Error calling API: " +
                    exception.Message;
            }
        }
        else
        {
            infoTextBlock.Text = "Not signed in.";
        }
    }

Но приложение не показывает мне страницу входа в систему, поэтому я ввожу свое имя пользователя и пароль для своей реальной учетной записи, она просто загружается, а затем в текстовом поле написано «не выполнен вход».


person a3adel    schedule 01.04.2014    source источник
comment
Пробовали ли вы добавить wl.skydrive в Scopes: Scopes="wl.signin wl.skydrive wl.basic"? А также проверьте, пометили ли вы свое приложение как для мобильных устройств (там, где вы его зарегистрировали и получили идентификатор).   -  person Romasz    schedule 01.04.2014
comment
Спасибо, чувак, сработало :)   -  person a3adel    schedule 01.04.2014


Ответы (1)


Как оказалось после проверки комментариев добавление wl.skydrive к свойству Scopes решило проблему:

<live:SignInButton ClientId="my ID" x:Name="btnSignin" Scopes="wl.signin wl.basic wl.skydrive" 
 Branding="Skydrive" SessionChanged="btnSignin_SessionChanged" Margin="10,0,-10,194"
 Height="104" VerticalAlignment="Bottom"/>

Подробнее о доступных областях можно прочитать здесь, в MSDN.

Кроме того, ваше приложение должно быть помечено как для мобильных устройств в вашей учетной записи.

person Romasz    schedule 01.04.2014