Пример #1
0
        string IYouZanClient.Invoke(IAPI api, IAuth auth, IDictionary <string, string> headers, List <KeyValuePair <string, string> > files)
        {
            {
                string url = null;
                if (api != null)
                {
                    OAuthEnum oAuth = api.GetOAuthType();
                    switch (oAuth)
                    {
                    case OAuthEnum.TOKEN:
                        url = BuildUrl(api, auth);
                        break;

                    case OAuthEnum.SIGN:
                        break;

                    case OAuthEnum.DIRECT:
                        url = BuildUrl(api, auth);
                        break;
                    }
                    var        method    = api.GetHttpMethod();
                    IApiParams apiParams = api.GetAPIParams();
                    IDictionary <string, string> requestParams = apiParams.ToParams();
                    IDictionary <string, string> header        = api.GetHeaders();
                    string result = defaultHttpClient.Send(url, requestParams, header, files);
                    return(result);
                }
                return(null);
            }
        }
Пример #2
0
        /// <summary>
        /// 同步消息
        /// </summary>
        /// <param name="authEnum">授权类型</param>
        /// <param name="accessToken">Access Token</param>
        /// <param name="accessSecret">Access Secret</param>
        /// <param name="text">消息</param>
        public static void SendText(OAuthEnum authEnum, string accessToken, string accessSecret, string text)
        {
            IOAuth auth = null;

            switch (authEnum)
            {
            case OAuthEnum.msn: auth = new MSNOAuth(); break;

            case OAuthEnum.sina: auth = new SinaOAuth(); break;

            case OAuthEnum.qq: auth = new QQOAuth(); break;

            case OAuthEnum.netease: auth = new NeteaseOAuth(); break;

            case OAuthEnum.sohu: auth = new SohuOAuth(); break;

            case OAuthEnum.kaixin: auth = new KaiXinOAuth(); break;

            case OAuthEnum.renren: auth = new RenRenOAuth(); break;
            }
            if (!auth.IsNull())
            {
                auth.SendText(accessToken, accessSecret, text);
            }
        }
Пример #3
0
 /// <summary>
 /// 取OAuth.webconfig配置信息
 /// </summary>
 /// <param name="authEnum">授权类型</param>
 /// <returns>取OAuth.webconfig配置信息</returns>
 public static ConfigInfo GetConfigInfo(OAuthEnum authEnum) {
     Xml2 xml = new Xml2("~/oauth.config".GetMapPath());
     string _enum = authEnum.ToString();
     return new ConfigInfo() { 
         AppKey = xml.GetNodeText("/configuration/" + _enum + "/appKey"),
         AppSecret = xml.GetNodeText("/configuration/" + _enum + "/appSecret"),
         RedirectUrl = xml.GetNodeText("/configuration/" + _enum + "/redirectUrl"),
     };
 }
Пример #4
0
        /// <summary>
        /// 取OAuth.webconfig配置信息
        /// </summary>
        /// <param name="authEnum">授权类型</param>
        /// <returns>取OAuth.webconfig配置信息</returns>
        public static ConfigInfo GetConfigInfo(OAuthEnum authEnum)
        {
            Xml2   xml   = new Xml2("~/oauth.config".GetMapPath());
            string _enum = authEnum.ToString();

            return(new ConfigInfo()
            {
                AppKey = xml.GetNodeText("/configuration/" + _enum + "/appKey"),
                AppSecret = xml.GetNodeText("/configuration/" + _enum + "/appSecret"),
                RedirectUrl = xml.GetNodeText("/configuration/" + _enum + "/redirectUrl"),
            });
        }
Пример #5
0
 /// <summary>
 /// 取登录账号好友信息
 /// </summary>
 /// <param name="authEnum">授权类型</param>
 /// <param name="accessToken">Access Token</param>
 /// <param name="accessSecret">Access Secret</param>
 /// <returns>取登录账号好友信息</returns>
 public static IList<UserInfo> GetFriendsInfo(OAuthEnum authEnum, string accessToken, string accessSecret) {
     IOAuth auth = null;
     switch (authEnum) {
         case OAuthEnum.msn: auth = new MSNOAuth(); break;
         case OAuthEnum.sina: auth = new SinaOAuth(); break;
         case OAuthEnum.qq: auth = new QQOAuth(); break;
         case OAuthEnum.netease: auth = new NeteaseOAuth(); break;
         case OAuthEnum.sohu: auth = new SohuOAuth(); break;
         case OAuthEnum.kaixin: auth = new KaiXinOAuth(); break;
         case OAuthEnum.renren: auth = new RenRenOAuth(); break;
     }
     return auth.IsNull() ? null : auth.GetFriendsInfo(accessToken, accessSecret);
 }
Пример #6
0
 /// <summary>
 /// 取登录账号信息
 /// </summary>
 /// <param name="authEnum">授权类型</param>
 /// <returns>取登录账号信息</returns>
 public static UserInfo GetUserInfo(OAuthEnum authEnum) {
     IOAuth auth = null;
     switch (authEnum) {
         case OAuthEnum.msn: auth = new MSNOAuth(); break;
         case OAuthEnum.sina: auth = new SinaOAuth(); break;
         case OAuthEnum.qq: auth = new QQOAuth(); break;
         case OAuthEnum.netease: auth = new NeteaseOAuth(); break;
         case OAuthEnum.sohu: auth = new SohuOAuth(); break;
         case OAuthEnum.kaixin: auth = new KaiXinOAuth(); break;
         case OAuthEnum.renren: auth = new RenRenOAuth(); break;
     }
     return auth.IsNull() ? null : auth.GetUserInfo();
 }
Пример #7
0
 /// <summary>
 /// 取登录URL
 /// </summary>
 /// <param name="authEnum">授权类型</param>
 /// <returns>登录URL</returns>
 public static string GetAuthUrl(OAuthEnum authEnum) {
     IOAuth auth = null;
     switch (authEnum) {
         case OAuthEnum.msn: auth = new MSNOAuth(); break;
         case OAuthEnum.sina: auth = new SinaOAuth(); break;
         case OAuthEnum.qq: auth = new QQOAuth(); break;
         case OAuthEnum.netease: auth = new NeteaseOAuth(); break;
         case OAuthEnum.sohu: auth = new SohuOAuth(); break;
         case OAuthEnum.kaixin: auth = new KaiXinOAuth(); break;
         case OAuthEnum.renren: auth = new RenRenOAuth(); break;
     }
     return auth.IsNull() ? string.Empty : auth.GetAuthUrl();
 }
Пример #8
0
        string IYouZanClient.Invoke(IAPI api, IAuth auth, IDictionary <string, string> headers, List <KeyValuePair <string, string> > files)
        {
            string url = null;

            if (api != null)
            {
                OAuthEnum oAuth = api.GetOAuthType();
                switch (oAuth)
                {
                case OAuthEnum.TOKEN:
                    url = BuildUrl(api, auth);
                    break;

                case OAuthEnum.SIGN:
                    break;

                case OAuthEnum.DIRECT:
                    url = BuildUrl(api, auth);
                    break;
                }
                var        method    = api.GetHttpMethod();
                IApiParams apiParams = api.GetAPIParams();
                IDictionary <string, object> requestParams = apiParams.ToParams();
                IDictionary <string, string> header        = api.GetHeaders();
                string result = defaultHttpClient.Send(url, requestParams, header, files);
                if (YouZanConfig.SaveApiLogToDB)
                {
                    YouZanLogger log = new YouZanLogger
                    {
                        ApiName      = api.GetName(),
                        ApiVersion   = api.GetVersion(),
                        ApiMethod    = api.GetHttpMethod(),
                        AuthType     = oAuth.ToString(),
                        RequestUrl   = url,
                        PostData     = JsonConvert.SerializeObject(requestParams),
                        Header       = JsonConvert.SerializeObject(header),
                        ResponseData = result,
                        ClientId     = api.GetClientId(),
                        GrantId      = api.GetGrantId()
                    };
                    Task.Run(log.Save);
                }
                return(result);
            }
            return(null);
        }
Пример #9
0
        /// <summary>
        /// 取登录账号信息
        /// </summary>
        /// <param name="authEnum">授权类型</param>
        /// <returns>取登录账号信息</returns>
        public static UserInfo GetUserInfo(OAuthEnum authEnum)
        {
            IOAuth auth = null;

            switch (authEnum)
            {
            case OAuthEnum.msn: auth = new MSNOAuth(); break;

            case OAuthEnum.sina: auth = new SinaOAuth(); break;

            case OAuthEnum.qq: auth = new QQOAuth(); break;

            case OAuthEnum.netease: auth = new NeteaseOAuth(); break;

            case OAuthEnum.sohu: auth = new SohuOAuth(); break;

            case OAuthEnum.kaixin: auth = new KaiXinOAuth(); break;

            case OAuthEnum.renren: auth = new RenRenOAuth(); break;
            }
            return(auth.IsNull() ? null : auth.GetUserInfo());
        }
Пример #10
0
        /// <summary>
        /// 取登录URL
        /// </summary>
        /// <param name="authEnum">授权类型</param>
        /// <returns>登录URL</returns>
        public static string GetAuthUrl(OAuthEnum authEnum)
        {
            IOAuth auth = null;

            switch (authEnum)
            {
            case OAuthEnum.msn: auth = new MSNOAuth(); break;

            case OAuthEnum.sina: auth = new SinaOAuth(); break;

            case OAuthEnum.qq: auth = new QQOAuth(); break;

            case OAuthEnum.netease: auth = new NeteaseOAuth(); break;

            case OAuthEnum.sohu: auth = new SohuOAuth(); break;

            case OAuthEnum.kaixin: auth = new KaiXinOAuth(); break;

            case OAuthEnum.renren: auth = new RenRenOAuth(); break;
            }
            return(auth.IsNull() ? string.Empty : auth.GetAuthUrl());
        }
Пример #11
0
        /// <summary>
        /// 取登录账号好友信息
        /// </summary>
        /// <param name="authEnum">授权类型</param>
        /// <param name="accessToken">Access Token</param>
        /// <param name="accessSecret">Access Secret</param>
        /// <returns>取登录账号好友信息</returns>
        public static IList <UserInfo> GetFriendsInfo(OAuthEnum authEnum, string accessToken, string accessSecret)
        {
            IOAuth auth = null;

            switch (authEnum)
            {
            case OAuthEnum.msn: auth = new MSNOAuth(); break;

            case OAuthEnum.sina: auth = new SinaOAuth(); break;

            case OAuthEnum.qq: auth = new QQOAuth(); break;

            case OAuthEnum.netease: auth = new NeteaseOAuth(); break;

            case OAuthEnum.sohu: auth = new SohuOAuth(); break;

            case OAuthEnum.kaixin: auth = new KaiXinOAuth(); break;

            case OAuthEnum.renren: auth = new RenRenOAuth(); break;
            }
            return(auth.IsNull() ? null : auth.GetFriendsInfo(accessToken, accessSecret));
        }
Пример #12
0
 public OAuthEnum SetOAuthType(OAuthEnum oAuthType)
 {
     return(this.oAuthType = oAuthType);
 }
Пример #13
0
 /// <summary>
 /// 同步消息
 /// </summary>
 /// <param name="authEnum">授权类型</param>
 /// <param name="accessToken">Access Token</param>
 /// <param name="accessSecret">Access Secret</param>
 /// <param name="text">消息</param>
 public static void SendText(OAuthEnum authEnum, string accessToken, string accessSecret, string text) { 
     IOAuth auth = null;
     switch (authEnum) {
         case OAuthEnum.msn: auth = new MSNOAuth(); break;
         case OAuthEnum.sina: auth = new SinaOAuth(); break;
         case OAuthEnum.qq: auth = new QQOAuth(); break;
         case OAuthEnum.netease: auth = new NeteaseOAuth(); break;
         case OAuthEnum.sohu: auth = new SohuOAuth(); break;
         case OAuthEnum.kaixin: auth = new KaiXinOAuth(); break;
         case OAuthEnum.renren: auth = new RenRenOAuth(); break;
     }
     if (!auth.IsNull()) auth.SendText(accessToken, accessSecret, text);
 }