Ejemplo n.º 1
0
        private static async Task <User> GetTwitterAccountAsync(string accessToken, string accessToeknSecret)
        {
            // https://developer.twitter.com/en/docs/accounts-and-users/manage-account-settings/api-reference/get-account-verify_credentials
            var url           = "https://api.twitter.com/1.1/account/verify_credentials.json";
            var authorization = TwitterHelper.BuildGetAuthorizationHeader(url, accessToken, accessToeknSecret, twitterConfig.ConsumerKey, twitterConfig.ConsumerSecret);
            var httpClient    = new HttpClient();
            var requestMsg    = new HttpRequestMessage()
            {
                Method     = HttpMethod.Get,
                RequestUri = new Uri(url),
            };

            requestMsg.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("OAuth", authorization);
            var response = await httpClient.SendAsync(requestMsg);

            var responseText = await response.Content.ReadAsStringAsync();

            if (!response.IsSuccessStatusCode)
            {
                return(null);
            }

            dynamic json = JsonConvert.DeserializeObject(responseText);

            return(new User()
            {
                PartitionKey = "twitter",
                RowKey = json.id_str,
                Type = "twitter",
                Name = json.screen_name,
                ExtraInfo = responseText
            });
        }