private OAuthToken GetUserAccessToken(string urlParams) { OAuthToken token = new OAuthToken(); var parameters = urlParams.Split('&'); foreach (var parameter in parameters) { var accessTokens = parameter.Split('='); if (accessTokens[0] == "access_token") { token.AccessToken = accessTokens[1]; } if (accessTokens[0] == "expires_in") { token.ExpiresAt = Convert.ToInt32(accessTokens[1]); } } return token; }
/// <summary> /// 用于用户已经完成授权后,将OAuthToken持久化保存后,使用这个函数从持久化介质中获取到的 /// OAuthToken,进行后续的API调用。 /// </summary> /// <param name="oAuthToken"></param> public QzoneContext(OAuthToken oAuthToken) { this.oAuthToken = oAuthToken; this.config = new QQConnectConfig(); this.restApi = new RestApi(this); }
/// <summary> /// 通过Authorization Code获取Access Token /// </summary> /// <param name="oAuthVericode"></param> /// <param name="state"></param> /// <returns></returns> public OAuthToken GetAccessToken(string state) { oAuthToken = restApi.GetAccessToken(oAuthVericode, state); return oAuthToken; }
/// <summary> /// 构造函数,用于用户已经完成授权后,将OAuthToken持久化保存后,使用这个函数从持久化介质中获取到的 /// OAuthToken,进行后续的API调用。 /// </summary> /// <param name="oAuthToken"></param> public QOpenClient(OAuthToken oAuthToken) { this._oAuthToken = oAuthToken; var context = new QzoneContext(oAuthToken); restApi = new RestApi(context); }