2012-02-21 146 views
0

我有一個PhotobucketNet用戶登錄問題(我需要用戶登錄,所以我可以上傳一張圖片從HDD到他的Photobucket帳戶)。PhotobucketNet照片上傳

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

如果我叫RequestUserToken(),它會立即發生,所以我會得到一個崩潰的原因用戶沒有登錄,並且沒有一個已經在用戶登錄後引發的事件。有一些變量(布爾或其他),我可以檢查,看看用戶是否登錄 - 也許把它放在一個循環與計時器? 也是他們的一種方式來知道用戶是否取消登錄? 我知道計時器不是一個好的解決方案,所以如果任何人有什麼更好的想法,我打開任何建議...

回答

0

我今天遇到同樣的問題,我發現你的帖子while我正在尋找解決方案。這裏是我如何設法解決這個問題:

首先,我得到了「用戶登錄URL」,並將其傳遞到一個名爲「Login」的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 
     } 
    } 
} 

現在你只需保存令牌和使用它。