Exemplo n.º 1
0
        /// <summary>
        /// Log in to Flickr
        /// </summary>
        void Login()
        {
            requestToken = StatusForm.Instance.Flickr.OAuthGetRequestToken("oob");
            string url = StatusForm.Instance.Flickr.OAuthCalculateAuthorizationUrl(requestToken.Token, AuthLevel.Write);

            System.Diagnostics.Process.Start(url);
            VerifierLabel.Visible = true;
            VerifierCode.Visible  = true;
            VerifierCode.Focus();
        }
Exemplo n.º 2
0
        public async Task <Tuple <String, String> > Init()
        {
            if (String.IsNullOrWhiteSpace(_accessToken) || String.IsNullOrWhiteSpace(_accessTokenSecret))
            {
                ApiLibrary.Downwork.Instance.Init(ApiKey.ApplicationKey, ApiKey.ApplicationSecret);

                var result = await ApiLibrary.Downwork.Instance.Auth.GetRequestToken();

                var s = ApiLibrary.Downwork.Instance.Auth.GetAuthorizationUrl(result?.Item1);
                if (result != null && !String.IsNullOrWhiteSpace(s))
                {
                    String oauthVerifier  = null;
                    var    verifierWindow = new VerifierCode();
                    verifierWindow.btnEnter.Click += (_s, _e) =>
                    {
                        oauthVerifier = verifierWindow.OAuthVerifier;
                        verifierWindow.Close();
                    };
                    System.Diagnostics.Process.Start(s);
                    verifierWindow.ShowDialog();

                    var accessTokenPair = await ApiLibrary.Downwork.Instance.Auth.GetAccessToken(result.Item1, result.Item2, oauthVerifier);

                    ApiLibrary.Downwork.Instance.OAuthToken       = accessTokenPair.Item1;
                    ApiLibrary.Downwork.Instance.OAuthTokenSecret = accessTokenPair.Item2;

                    return(accessTokenPair);
                }
                else
                {
                    throw new Exception("API messed up");
                }
            }
            else
            {
                ApiLibrary.Downwork.Instance.Init(ApiKey.ApplicationKey, ApiKey.ApplicationSecret, _accessToken, _accessTokenSecret);
                return(new Tuple <String, String>(_accessToken, _accessTokenSecret));
            }
        }