PhotobucketNet用户登录时遇到问题(我需要用户登录才能将图片从HDD上传到他的Photobucket帐户)。
Photobucket photobucket = new Photobucket("myapikey", "myapisecret");
photobucket.LaunchUserLogin();
// the problem happens here
photobucket.RequestUserToken();
如果我调用RequestUserToken()它会立即发生,所以我会遇到崩溃导致用户没有登录,并且没有在用户登录后引发的事件。是否有一些变量(bool或者其他什么)我可以检查用户是否登录 - 也许是将它与计时器放在一个循环中? 还有一种方法可以知道用户是否取消了登录? 我知道计时器不是一个好的解决方案,所以如果有人有更好的想法,我会对任何建议持开放态度......
答案 0 :(得分:0)
我今天遇到了同样的问题,当我在寻找解决方案时,我发现了你的帖子。以下是我设法解决问题的方法:
首先,我得到了#34;用户登录网址"并将其传递给具有Web浏览器控件的表单,名为" Login"。
Service=new Photobucket ("mykey", "mysecret");
string u=Service.GenerateUserLoginUrl ();
Login l=new Login (u);
l.Show ();
接下来,我从此页面获得了网址
登录后的页面。如果网络浏览器的网址是该网页,我会询问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
}
}
}
现在您只需保存令牌并使用它。