2012-02-21 13 views
0

私はPhotobucketNetユーザーログインに問題があります(私はHDDからPhotobucketアカウントに画像をアップロードできるようにログインする必要があります)。私はRequestUserToken()を呼び出した場合PhotobucketNet写真アップロード

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

それがすぐに発生しますので、私はクラッシュの原因のユーザーがログインしていなかった得るだろう、と、ユーザーがログインした後に提起されていますイベントがない。いくつかの変数がありますユーザーがログインしているかどうかを確認することができます(おそらくタイマー付きのループに入れます)。 ユーザーがログインをキャンセルしたかどうかを知る方法もありますか? 私はタイマーが良い解決策ではないことを知っています。だれかがもっと良いアイデアを持っていれば、私は何か提案があれば公開しています...

答えて

0

私は同じ問題を抱えています。私は解決策を探していた。ここで問題を解決する方法は次のとおりです。

最初に「ユーザーログインURL」を取得し、「ログイン」というWebブラウザコントロールでフォームに渡しました。

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

次に、私は、ログイン後のページで、このページからURL、

enter image description here

を得ました。 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 
     } 
    } 
} 

今、あなただけのトークンを保存し、それを使用する:

ログインフォームからのコードは次のようなものです。