locked
LogOut OneDrive RRS feed

  • Вопрос

  • Добрый день.

    Вопрос аналогичный заданному ранее.

       При открытии страницы происходит инициализация, после по кнопке вхожу в облако OneDrive,

    но выйти не могу т.к. authClient.CanLogout = false. В чем может быть проблема? Код инициализации и входа ниже.


    private async Task InitializeAsync()
    {
     NameButtonSign = LocalizedNamesLibrary.GetString("LogIn");
     VisibleProgressBar = Visibility.Collapsed;
     EnabledOtherButton = false;

     try
     {
      authClient = new LiveAuthClient();
      LiveLoginResult loginResult = await authClient.InitializeAsync(scopes);
      if (loginResult.Status == LiveConnectSessionStatus.Connected)
      {
       if (authClient.CanLogout)
       {
        NameButtonSign = LocalizedNamesLibrary.GetString("LogOut");
       }
       else
       {
        VisibleSigIn = Visibility.Collapsed;
       }

       liveClient = new LiveConnectClient(loginResult.Session);
       GetMe();
      }
     }
     catch (LiveAuthException authExp)
     {
      MessageString = authExp.ToString();
     }

    }


    private async Task LoginAsync()
    {
     try
     {
      if (NameButtonSign.ToString() == LocalizedNamesLibrary.GetString("LogIn"))
      {
       LiveLoginResult loginResult = await authClient.LoginAsync(scopes);
       if (loginResult.Status == LiveConnectSessionStatus.Connected)
       {
        if (authClient.CanLogout)
        {
         NameButtonSign = LocalizedNamesLibrary.GetString("LogOut");
        }
        else
        {
         VisibleSigIn = Visibility.Collapsed;
        }

        liveClient = new LiveConnectClient(loginResult.Session);
        GetMe();
       }
      }
      else
      {
       try
       {
        authClient.Logout();
       }
       catch (Exception exc)
       {
        MessageString = exc.Message;
       }
       NameButtonSign = LocalizedNamesLibrary.GetString("LogIn");
      }

      EnabledOtherButton = true;
     }
     catch (LiveAuthException authExp)
     {
      MessageString = authExp.ToString();
     }
    }

    23 февраля 2015 г. 16:42

Ответы

  • Для выхода надо по адресу account.live.com зайти в "Безопасноть и конфиденциальность"
    внизу в "Приложения и службы" нажать на ссылку "Управление разрешениями"
    и удалить разрешение на использование OneDrive в данном приложении.

    После можно будет заново авторизоваться в OneDrive.

    • Помечено в качестве ответа Pavel Makarov 26 февраля 2015 г. 16:51
    26 февраля 2015 г. 16:51

Все ответы

  • Попробуй LiveAuthClient.Logout method

    public  Logout()

    24 февраля 2015 г. 13:57
  • Прописываю

    new

    LiveAuthClient().Logout();

    и получаю сообщение об ошибке:

    Object reference not set to an instance of an object.

    24 февраля 2015 г. 15:52
  • Смотри http://stackoverflow.com/questions/14491783/windows-live-sdk-doesnt-logout

    Слава Україні!

    26 февраля 2015 г. 13:45
  • Тоже не помогает.

    При вызове new LiveAuthClient("yourclientidhere");

    генерируется ошибка

    Object reference not set to an instance of an object.

    • Изменено Pavel Makarov 26 февраля 2015 г. 15:52
    26 февраля 2015 г. 15:52
  • Для выхода надо по адресу account.live.com зайти в "Безопасноть и конфиденциальность"
    внизу в "Приложения и службы" нажать на ссылку "Управление разрешениями"
    и удалить разрешение на использование OneDrive в данном приложении.

    После можно будет заново авторизоваться в OneDrive.

    • Помечено в качестве ответа Pavel Makarov 26 февраля 2015 г. 16:51
    26 февраля 2015 г. 16:51