2012-02-21 5 views
0

PhotobucketNet 사용자 로그인에 문제가 있습니다 (로그인해야하므로 사진을 HDD에서 Photobucket 계정으로 업로드 할 수 있습니다).PhotobucketNet 사진 업로드

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

내가) RequestUserToken을 (호출하면 즉시 일어날 것이다, 그래서 충돌 원인 사용자가 로그인하지 않은거야, 그리고에 사용자가 로그인 한 후 제기되고있어 어떤 이벤트가 없습니다. 어떤 변수가 있는가 (bool 또는 다른 것) 사용자가 로그인했는지 확인할 수 있습니다 - 아마 타이머가있는 루프에 넣을 수 있습니까? 사용자가 로그인을 취소했는지 여부를 확인하는 방법은 무엇입니까? 나는 타이머가 좋은 해결책이 아니라는 것을 알고 있기 때문에 누구나 아이디어로 더 좋은 것이 있다면 어떤 제안이라도 열려 있습니다 ...

답변

0

오늘 나는 같은 문제를 겪었고 귀하의 게시물을 발견했습니다. 나는 해결책을 찾고 있었다. 다음은 어떻게 문제를 해결할 수 있었는지입니다.

먼저 "user login url"을 얻은 다음 "Login"이라는 웹 브라우저 컨트롤이있는 양식으로 전달했습니다.

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

다음, 나는 로그인 후 페이지입니다이 페이지에서 URL,

enter image description here

을 얻었다. 웹 브라우저의 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 
     } 
    } 
} 

이제 그냥 토큰을 저장하고 사용

로그인 폼 코드는 다음과 같은 것입니다.