PhotobucketNet загрузка фотографий - PullRequest
0 голосов
/ 21 февраля 2012

У меня проблема с входом пользователя в PhotobucketNet (мне нужен пользователь для входа, чтобы я мог загрузить изображение с жесткого диска в его учетную запись Photobucket).

Photobucket photobucket = new Photobucket("myapikey", "myapisecret");
photobucket.LaunchUserLogin();
// the problem happens here
photobucket.RequestUserToken();

Если я вызову RequestUserToken (), это произойдет немедленно, поэтому я получу сбой, потому что пользователь не вошел в систему, и нет события, которое было вызвано после того, как пользователь вошел в систему. Существует ли какая-либо переменная (bool или что-то в этом роде) еще) что я могу проверить, вошел ли пользователь в систему - может быть, чтобы поместить его в цикл с таймером? Также это их способ узнать, если пользователь отменил вход? Я знаю, что таймер не является хорошим решением, поэтому, если у кого-то есть идея лучше, я открыт для любых предложений ...

1 Ответ

0 голосов
/ 01 декабря 2012

Я столкнулся с той же проблемой сегодня, и я нашел ваше сообщение, когда искал решения. Вот как мне удалось решить проблему:

Сначала я получил "URL-адрес входа пользователя" и передал его в форму с элементом управления веб-браузера, которая называется "Логин".

Service=new Photobucket ("mykey", "mysecret");
string u=Service.GenerateUserLoginUrl ();
Login l=new Login (u);
l.Show ();

Далее я получил URL с этой страницы,

enter image description here

это страница после входа в систему. Если URL веб-браузера - это та страница, я попросил класс photobucket (в моем случае Program.Service) запросить токен.

Код из формы входа выглядит примерно так:

public Login (string url)
{
    InitializeComponent ();
    webBrowser1.Navigate (url);
    webBrowser1.DocumentCompleted+=delegate
    {
    if (webBrowser1.Url.ToString ()=="http://photobucket.com/apilogin/done")
       {
             PhotobucketNet.UserToken t=Program.Service.RequestUserToken ();
             //save the token
       }
    }
}

Теперь вы просто сохраняете токен и используете его.

...