Ejemplo n.º 1
0
        /// <summary>
        /// Get the access information for user operations (access token, access token secret, id and screen name).
        /// Doc: https://developer.twitter.com/en/docs/basics/authentication/api-reference/access_token
        /// </summary>
        /// <param name="tokenResponseData">OAuthTokenData with oauth_token, oauth_token_secret, oatuh</param>
        /// <returns>ClientAccessTokenData with the access token, token secret, user id, screen name</returns>
        public TwitterAccessTokenResponseData GetAccessToken(OAuth1TokenResponseData tokenResponseData)
        {
            var client   = new RestClient(BaseUrl);
            var request  = new RestRequest(GetAccessTokenEndPoint(tokenResponseData), Method.POST);
            var response = client.Execute(request);

            var queryString = HttpUtility.ParseQueryString(response.Content);

            if (response.IsSuccessful)
            {
                return(new TwitterAccessTokenResponseData(queryString["oauth_token"],
                                                          queryString["oauth_token_secret"],
                                                          queryString["user_id"],
                                                          queryString["screen_name"]));
            }

            throw new CouldNotConnectException(
                      $"Error while connecting to Twitter Api when requesting Access Token. Twitter EndPoint:{GetAccessTokenEndPoint(tokenResponseData)}.\n {response.Content}", response.StatusCode);
        }
Ejemplo n.º 2
0
 private static string GetAccessTokenEndPoint(OAuth1TokenResponseData tokenResponseData)
 {
     return($"/oauth/access_token?oauth_verifier={tokenResponseData.TokenVerifier}&oauth_token={tokenResponseData.Token}");
 }