コード例 #1
0
        public IUserInfo GetUserInfo(UserInfoRequestParameters parameters)
        {
            var data = new NameValueCollection()
                                    .FluentAdd("format", "json")
                                    .FluentAdd("method", "taobao.user.get")
                                    .FluentAdd("sign_method", "md5")
                                    .FluentAdd("timestamp", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))
                                    .FluentAdd("v", "2.0")
                                    .FluentAdd("session", parameters.AccessTokenResult.AccessToken)
                                    .FluentAdd("app_key", parameters.AppInfo.AppId)
                                    .FluentAdd("fields", FieldsToGet);

            var sign = TaobaoApiUtil.Sign(data, parameters.AppInfo.AppSecret);

            data.Add("sign", sign);

            var json = HttpClient.Get(GetApiPath(), data, Encoding.UTF8);

            var result = (ApiResponse)JsonSerializer.Deserialize(json, typeof(ApiResponse));

            if (result.error_response != null && !String.IsNullOrEmpty(result.error_response.code))
            {
                throw CreateErrorResponseException(result.error_response);
            }

            if (result.user_get_response.user == null)
            {
                return null;
            }

            return result.user_get_response.user;
        }
コード例 #2
0
        public IUserInfo GetUserInfo(UserInfoRequestParameters parameters)
        {
            var userId = GetUID(parameters.AccessTokenResult.AccessToken);
            var userInfo = GetUserInfoByUserIdentity(parameters.AccessTokenResult.AccessToken, userId);

            return userInfo;
        }
コード例 #3
0
        public IUserInfo GetUserInfo(UserInfoRequestParameters parameters)
        {
            var url = UrlBuilder.Create("https://apis.live.net/v5.0/me")
                                .WithParam("access_token", parameters.AccessTokenResult.AccessToken)
                                .Build();

            var json = HttpClient.Get(url, null, Encoding.UTF8);

            return ParseRawResponse(json);
        }
コード例 #4
0
        public IUserInfo GetUserInfo(UserInfoRequestParameters parameters)
        {
            var url = UrlBuilder.Create("https://www.googleapis.com/oauth2/v1/userinfo")
                                .WithParam("alt", "json")
                                .WithParam("access_token", parameters.AccessTokenResult.AccessToken)
                                .Build();

            var json = HttpClient.Get(url, null, Encoding.UTF8);

            return ParseRawResponse(json);
        }
コード例 #5
0
        public IUserInfo GetUserInfo(UserInfoRequestParameters parameters)
        {
            var apiPath = "http://api.renren.com/restserver.do";

            var data = new NameValueCollection().FluentAdd("method", "users.getInfo")
                                                .FluentAdd("v", "1.0")
                                                .FluentAdd("access_token", parameters.AccessTokenResult.AccessToken)
                                                .FluentAdd("format", "json")
                                                .FluentAdd("fields", "uid,name,sex,headurl");

            var sig = RenrenApiUtil.Sign(data, parameters.AppInfo.AppSecret);

            data.Add("sig", sig);

            var json = HttpClient.Post(apiPath, data, Encoding.UTF8);

            return ParseRawResponse(json);
        }
コード例 #6
0
        public IUserInfo GetUserInfo(UserInfoRequestParameters parameters)
        {
            var url = UrlBuilder.Create("https://open.t.qq.com/api/user/info")
                                .WithParam("oauth_consumer_key", parameters.AppInfo.AppId)
                                .WithParam("access_token", parameters.AccessTokenResult.AccessToken)
                                .WithParam("scope", parameters.AppInfo.DefaultScope)
                                .WithParam("oauth_version", "2.a")
                                .WithParam("openid", parameters.AccessTokenResult.UserId)
                                .Build();

            var json = HttpClient.Get(url, null, Encoding.UTF8);

            var result = (UserInfoApiResult)JsonSerializer.Deserialize(json, typeof(UserInfoApiResult));

            if (result.ret != 0)
                throw new ApiException(result.msg, result.errcode.ToString());

            return result.data;
        }
コード例 #7
0
 protected override IUserInfoRequest CreateUserInfoRequest(UserInfoRequestParameters parameters)
 {
     return new GoogleUserInfoRequest(HttpClient);
 }
コード例 #8
0
 protected override IUserInfoRequest CreateUserInfoRequest(UserInfoRequestParameters parameters)
 {
     return new TencentWeiboUserInfoRequest(HttpClient);
 }
コード例 #9
0
 protected override IUserInfoRequest CreateUserInfoRequest(UserInfoRequestParameters parameters)
 {
     return new TaobaoUserInfoRequest(UseSandbox, HttpClient);
 }