c# - MS Skydrive - получение информации об учетной записи пользователя.

Я создаю приложение winform С#, и я хочу иметь возможность отображать информацию пользователей MS SkyDrive, в частности, свободное место на их SkyDrive и используемое пространство. Я работаю в Windows 7 и пытаюсь это сделать, но мне очень трудно получить токен доступа после аутентификации пользователя. Пока это все, что мне удалось собрать воедино:

public void getInfo()
    {

        var uri = "https://login.live.com/oauth20_authorize.srf";
        var authorizeUri = new StringBuilder(uri);

        authorizeUri.AppendFormat("?client_id={0}&", "<client id>");
        authorizeUri.AppendFormat("scope={0}&", "wl.signin");
        authorizeUri.AppendFormat("response_type={0}&", "token");
        authorizeUri.AppendFormat("redirect_uri={0}", HttpUtility.UrlEncode("<redirect domain>"));

        var startInfo = new ProcessStartInfo();
        startInfo.FileName = authorizeUri.ToString();
        Process.Start(startInfo);

    }

Это открывает браузер и позволяет пользователю дать разрешение приложению. Однако он возвращает токен доступа, перенаправляя приложения на «URL-адрес перенаправления» и включая токен доступа в URL-адрес. Это действительно не помогает мне, поскольку мое приложение является настольным приложением. Я читал документы Microsoft и не могу найти ничего, кроме информации для Windows 8 и телефонов с Windows.

Как я должен это сделать?


person ygetarts    schedule 15.09.2012    source источник
comment
Я предполагаю, что вы должны сделать это с помощью API LiveConnect, а не пытаться перехватить взаимодействие с браузером: msdn.microsoft.com/en-us/library/live/hh826545.aspx#quota (и остальные документы).   -  person millimoose    schedule 16.09.2012


Ответы (1)


Вы можете попробовать: http://skydriveapiclient.codeplex.com/

Я использовал его по той же причине, по которой вы хотите его использовать. Для меня это сработало хорошо. Существует пример приложения, использующего этот http://skydrivesync.codeplex.com/.

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

person Manuel Rauber    schedule 15.09.2012
comment
Спасибо, код для обоих, похоже, не работает. Я гуглил с тех пор, как вы опубликовали это, и я не могу найти решение :/ - person ygetarts; 16.09.2012
comment
Хм, может они поменяли API в связи с запуском Windows 8. Новый Live SDK работает только с WinRT :/ - person Manuel Rauber; 16.09.2012