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); } }
/// <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); } }
/// <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"), }; }
/// <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"), }); }
/// <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); }
/// <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(); }
/// <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(); }
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); }
/// <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()); }
/// <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()); }
/// <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)); }
public OAuthEnum SetOAuthType(OAuthEnum oAuthType) { return(this.oAuthType = oAuthType); }
/// <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); }