private bool performTokenCheck(VKAccessToken token, bool isUserToken) { if (token != null) { if (token.IsExpired()) { mListener.onTokenExpired(token); } else if (token.accessToken != null) { // if (isUserToken) mListener.onAcceptUserToken(token); return true; } else { VKError error = new VKError(VKError.VK_API_CANCELED); error.errorMessage = "User token is invalid"; mListener.onAccessDenied(error); } } return false; }
protected virtual void OnError(VKError error) { ErrorDelegate handler = Error; if (handler != null) handler(this, error); }
/** * Notify SDK that user denied login * * @param error description of error while authorizing user */ public static void setAccessTokenError(VKError error) { sInstance.Value.mAccessToken = null; if (sInstance.Value.mListener != null) { sInstance.Value.mListener.onAccessDenied(error); } }
/** * Pass data of onActivityResult() function here * * @param resultCode result code of activity result * @param result intent passed by activity * @return If SDK parsed activity result properly, returns true. You can return from onActivityResult(). Otherwise, returns false. */ private static void checkAndSetToken(Dictionary<string, string> tokenParams, bool renew) { VKAccessToken token = VKAccessToken.TokenFromParameters(tokenParams); if (token == null || token.accessToken == null) { VKError error = new VKError(tokenParams); setAccessTokenError(error); } else { setAccessToken(token, renew); } }
/** * Get operation response data * @return Bytes of response */ protected VKError generateError(Exception e) { VKError error = new VKError(VKError.VK_API_REQUEST_HTTP_FAILED); error.errorMessage = e.Message; if (error.errorMessage == null) error.errorMessage = e.Source; error.httpError = e; return error; }
public override void Start() { State = VKOperationState.Executing; var serverRequest = _getServerRequestFunc(); serverRequest.Completed += (s, o) => { try { var response = o.Response; var httpRequest = WebRequest.CreateHttp(response.Content["response"].Value<string>("upload_url")); var fileDict = new Dictionary<string, VKHttpOperation.FileParameter>(); fileDict["file1"] = _file; var uploadFileOperation = new VKJsonOperation(httpRequest, fileDict); uploadFileOperation.Completed += (sender, args) => { var saveRequest = _getSaveRequestFunc(args.JsonResponse); saveRequest.Completed += (saveSender, saveArgs) => { State = VKOperationState.Finished; _successCallback(saveArgs.Response); }; saveRequest.Error += (saveSender, saveArgs) => { _errorCallback(saveArgs.Error); }; }; uploadFileOperation.Failed += (sender, args) => { _errorCallback(args.Error); }; uploadFileOperation.Start(); _lastOperation = uploadFileOperation; } catch (Exception exc) { VKError error = new VKError(VKError.JSON_FAILED); error.HttpError = exc; error.ErrorMessage = exc.Message; _errorCallback(error); } serverRequest.Error += (s1, o1) => { _errorCallback(o1.Error); }; _lastOperation = serverRequest.GetOperation(); _lastOperation.Start(); }; }
private void OnError(VKError obj) { }
/** * Calls when user must perform captcha-check * * @param captchaError error returned from API. You can load captcha image from * <b>captchaImg</b> property. After user answered current * captcha, call answerCaptcha: method with user entered answer. */ public abstract void onCaptchaError(VKError captchaError);
/** * Notifies listener about user authorization cancelation * * @param authorizationError error that describes authorization error */ public abstract void onAccessDenied(VKError authorizationError);