PhotobucketNet照片上传

时间:2012-02-21 19:13:39

标签: c# .net upload photobucket

PhotobucketNet用户登录时遇到问题(我需要用户登录才能将图片从HDD上传到他的Photobucket帐户)。

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

如果我调用RequestUserToken()它会立即发生,所以我会遇到崩溃导致用户没有登录,并且没有在用户登录后引发的事件。是否有一些变量(bool或者其他什么)我可以检查用户是否登录 - 也许是将它与计时器放在一个循环中? 还有一种方法可以知道用户是否取消了登录? 我知道计时器不是一个好的解决方案,所以如果有人有更好的想法,我会对任何建议持开放态度......

1 个答案:

答案 0 :(得分:0)

我今天遇到了同样的问题,当我在寻找解决方案时,我发现了你的帖子。以下是我设法解决问题的方法:

首先,我得到了#34;用户登录网址"并将其传递给具有Web浏览器控件的表单,名为" Login"。

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

接下来,我从此页面获得了网址

enter image description here

登录后的页面。如果网络浏览器的网址是该网页,我会询问photobucket类(在我的情况下是Program.Service),以请求令牌。

Login表单中的代码是这样的:

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
       }
    }
}

现在您只需保存令牌并使用它。