0

PhotobucketNetユーザーのログインに問題があります(HDDからPhotobucketアカウントに写真をアップロードできるようにユーザーがログインする必要があります)。

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

RequestUserToken()を呼び出すとすぐに発生するため、ユーザーがログインしなかったためにクラッシュが発生し、ユーザーがログインした後に発生するイベントはありません。変数(ブール値など)はありますか?ユーザーがログインしているかどうかを確認できます-おそらくタイマー付きのループに入れますか?また、ユーザーがログインをキャンセルしたかどうかを知る方法はありますか?タイマーは良い解決策ではないことを私は知っているので、誰かがアイデアとしてより良いものを持っているなら、私はどんな提案にもオープンです...

4

1 に答える 1

0

今日も同じ問題が発生しました。解決策を探しているときにあなたの投稿を見つけました。これが私が問題を解決する方法です:

まず、「ユーザーログインURL」を取得し、「ログイン」と呼ばれるWebブラウザコントロールを備えたフォームに渡しました。

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

次に、このページからURLを取得しました。

ここに画像の説明を入力してください

ログイン後のページです。Webブラウザの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
       }
    }
}

これで、トークンを保存して使用するだけです。

于 2012-12-01T19:46:44.830 に答える