示例#1
0
        private UserInfo GetUserData(string token)
        {
            var parameters = new NameValueCollection {
                { "oauth_consumer_key", _appId },
                { "oauth_nonce", SignatureGenerator.GenerateNonce() },
                { "oauth_signature_method", SignatureMethod },
                { "oauth_timestamp", SignatureGenerator.GetTimestamp() },
                { "oauth_token", token },
                { "oauth_version", "1.0" },
            };
            var parametersString = OAuthHelpers.ConstructQueryString(parameters);

            var signature = _signatureGenerator.GenerateSignature("GET", TumblrApi + "v2/user/info", parametersString);

            parameters.Set("oauth_signature", signature);

            var auth = "OAuth" + OAuthHelpers.ConstructQueryString(parameters, ",");

            var userInfoUrl = OAuthHelpers.BuildUri(TumblrApi, "v2/user/info", parameters);
            var response    = OAuthHelpers.AuthorizationLoad(userInfoUrl, auth);

            dynamic obj = JObject.Parse(response);

            return(new UserInfo {
                Id = obj.response.user.blogs[0].url,
                UserName = obj.response.user.name
            });
        }