Example #1
0
        public VKRequest<Array<Message>> GetDialogs(VKParameters parameters = null)
        {
            if (parameters == null)
                parameters = new VKParameters();

            return PrepareRequest<Array<Message>>("getDialogs", parameters);
        }
Example #2
0
 public VKRequest<PostArray> Get(VKParameters parameters)
 {
     if (parameters.ContainsKey("extended") && ((int)parameters["extended"]) == 1)
     {
         return PrepareRequest<PostArray>("get", parameters, AbstractRequest.HttpMethod.GET);
     }
     return PrepareRequest<PostArray>("get", parameters);
 }
Example #3
0
 public VKRequest<UserArray> Get(VKParameters parameters)
 {
     if (parameters["fields"] != null)
     {
         return PrepareRequest<UserArray>("get", parameters, AbstractRequest.HttpMethod.GET);
     }
     return PrepareRequest<UserArray>("get", parameters);
 }
Example #4
0
        public VKRequest<Array<Message>> GetHistory(int userid, VKParameters parameters = null)
        {
            if (parameters == null)
                parameters = new VKParameters();
            if (parameters.ContainsKey(VKApiConst.USER_ID) == false)
                parameters.Add(VKApiConst.USER_ID, userid);

            return PrepareRequest<Array<Message>>("getHistory", parameters);
        }
Example #5
0
        public VKRequest<VkModelsList<UserFull>> Get(VKParameters parameters)
        {
            if (parameters == null)
                parameters = new VKParameters();

            if (!parameters.ContainsKey(VKApiConst.VERSION))
                parameters.Add(VKApiConst.VERSION, "5.8");

            return PrepareRequest<VkModelsList<UserFull>>("get", parameters, AbstractRequest.HttpMethod.GET);
        }
Example #6
0
        public static async Task <List <Tuple <int, string> > > GetVKFriends()
        {
            var parameters = new VKParameters();

            parameters.Put("order", "hints");
            //parameters.Put(VKApiConst.UserId, VKApiConst.OwnerId);
            parameters.Put(VKApiConst.Fields, "first_name,last_name");
            var request = VKApi.Friends.Get(parameters);

            request.Attempts = 5;
            return(ParseVKGetFriendsRequest(await request.ExecuteAsync(null, AttemptFailed)));
        }
Example #7
0
        public VKRequest<PostArray> GetById(int extended, int copyHistoryDepth, params string[] posts)
        {
            var parameters = new VKParameters
            {
                { VKApiConst.EXTENDED, extended },
                { VKApiConst.COPY_HISTORY_DEPTH, copyHistoryDepth },
                { VKApiConst.POSTS, string.Join(",", posts) }
            };

            return extended == 1 ?
                PrepareRequest<PostArray>("getById", parameters, AbstractRequest.HttpMethod.GET) :
                PrepareRequest<PostArray>("getById", parameters);
        }
Example #8
0
        public VKRequest<UserArray> GetMembers(int groupId, VKParameters parameters = null)
        {
            if (parameters == null)
                parameters = new VKParameters();

            if (!parameters.Keys.Contains(VKApiConst.GROUP_ID))
                parameters.Add(VKApiConst.GROUP_ID, groupId);

            if (!parameters.ContainsKey(VKApiConst.VERSION))
                parameters.Add(VKApiConst.VERSION, "5.9");

            return PrepareRequest<UserArray>("getMembers", parameters);
        }
Example #9
0
        public override void SendMessage(Contact contact, string message, Activity activity)
        {
            if (!(contact is VkContact vkContact))
            {
                return;
            }
            var vkParams = new VKParameters();

            vkParams.Put("user_id", vkContact.Id);
            vkParams.Put("message", message);
            new VKRequest("messages.send", vkParams)
            .ExecuteWithListener(new VkRequestListener(OnAttemptFailed(activity), OnRequestComplete(activity)));
        }
Example #10
0
        public VkJsonRequest Add(int userId, string greeting = null, VKParameters parameters = null)
        {
            if (parameters == null)
                parameters = new VKParameters();

            if (!parameters.Keys.Contains(VKApiConst.USER_ID))
                parameters.Add(VKApiConst.USER_ID, userId);

            if (!parameters.Keys.Contains("text") && greeting != null)
                parameters.Add("text", greeting);

            return PrepareJsonRequest("add", parameters);
        }
Example #11
0
        async Task GetUserInfo(VKUserModel vkUserModel)
        {
            var request  = VKApi.Users.Get(VKParameters.From(VKApiConst.Fields, @"photo_400_orig"));
            var response = await request.ExecuteAsync();

            var jsonArray = response.Json.OptJSONArray(@"response");
            var account   = jsonArray?.GetJSONObject(0);

            vkUserModel.Name = account.OptString(@"first_name") + " " + account.OptString(@"last_name");
            if (!string.IsNullOrEmpty(account.OptString(@"photo_400_orig")))
            {
                vkUserModel.Picture = new Uri(account.OptString(@"photo_400_orig"));
            }
        }
        async Task GetUserInfo()
        {
            var request  = VKApi.Users.Get(VKParameters.From(VKApiConst.Fields, @"photo_400_orig,"));
            var response = await request.ExecuteAsync();

            var jsonArray = response.Json.OptJSONArray(@"response");
            var account   = jsonArray?.GetJSONObject(0);

            if (account != null && _loginResult != null)
            {
                _loginResult.FirstName  = account.OptString(@"first_name");
                _loginResult.LastName   = account.OptString(@"last_name");
                _loginResult.ImageUrl   = account.OptString(@"photo_400_orig");
                _loginResult.LoginState = LoginState.Success;
                SetResult(_loginResult);
            }
            else
            {
                SetErrorResult(@"Unable to complete the request of user info");
            }
        }
Example #13
0
        /**
         * Creates new request with parameters. See documentation for methods here https://vk.com/dev/methods
         *
         * @param method     API-method name, e.g. audio.get
         * @param parameters method parameters
         * @param httpMethod HTTP method for execution, e.g. GET, POST
         */
        protected AbstractRequest(string method, VKParameters parameters, HttpMethod httpMethod, IRequestFactory requestFactory)
        {
            methodName = method;
            if (parameters == null)
            {
                parameters = new VKParameters();
            }
            mMethodParameters = new VKParameters(parameters);
            if (httpMethod == null)
                httpMethod = HttpMethod.GET;
            this.httpMethod = httpMethod;
            this._requestFactory = requestFactory;
            mAttemptsUsed = 0;

            secure = true;
            //By default there is 1 attempt for loading.
            attempts = 1;

            //If system language is not supported, we use english
            mPreferredLang = "en";
            //By default we use system language.
            useSystemLanguage = true;
        }
Example #14
0
            private async void MakeRequest()
            {
                var request = new VKRequest("apps.getFriendsList", new VKParameters(new Dictionary <string, Java.Lang.Object> {
                    { VKApiConst.Extended, 1 },
                    { "type", "request" }
                }));
                var response = await request.ExecuteAsync();

                var context = Context;

                if (context == null || !IsAdded)
                {
                    return;
                }

                try {
                    var json      = JObject.Parse(response.Json.ToString());
                    var jsonArray = (JArray)json ["response"]["items"];
                    var ids       = jsonArray.Select(user => (int)user ["id"]).ToArray();
                    var users     = jsonArray.Select(j => string.Format("{0} {1}", j ["first_name"], j ["last_name"])).ToArray();

                    new AlertDialog.Builder(context)
                    .SetTitle(Resource.String.send_request_title)
                    .SetItems(users, (sender, e) => {
                        var parameters = new VKParameters(new Dictionary <string, Java.Lang.Object> {
                            { VKApiConst.UserId, ids [e.Which] },
                            { "type", "request" }
                        });
                        StartApiCall(new VKRequest("apps.sendRequest", parameters));
                    })
                    .Create()
                    .Show();
                } catch (Exception ex) {
                    Console.WriteLine(ex);
                }
            }
Example #15
0
 public VkJsonRequest DeleteDialog(VKParameters parameters)
 {
     throw new NotImplementedException();
 }
Example #16
0
 public VkJsonRequest CreateChat(VKParameters parameters)
 {
     throw new NotImplementedException();
 }
Example #17
0
 public VkJsonRequest DeleteChatPhoto(VKParameters parameters)
 {
     throw new NotImplementedException();
 }
Example #18
0
        public VKParameters GetPreparedParameters()
        {
            if (mPreparedParameters == null)
            {
                mPreparedParameters = new VKParameters(mMethodParameters);

                //Set current access token from SDK object
                VKAccessToken token = VKSdk.getAccessToken();
                if (token != null)
                    mPreparedParameters.Add(VKApiConst.ACCESS_TOKEN, token.accessToken);
                if (!secure)
                    if (token != null && (token.secret != null || token.httpsRequired))
                    {
                        secure = true;
                    }
                //Set actual version of API
                if (!mPreparedParameters.ContainsKey(VKApiConst.VERSION))
                    mPreparedParameters.Add(VKApiConst.VERSION, VKSdkVersion.API_VERSION);
                //Set preferred language for request
                if (!mPreparedParameters.ContainsKey(VKApiConst.LANG))
                    mPreparedParameters.Add(VKApiConst.LANG, GetLang());

                if (secure)
                {
                    //If request is secure, we need all urls as https
                    mPreparedParameters.Add(VKApiConst.HTTPS, "1");
                }
                if (token != null && token.secret != null)
                {
                    //If it not, generate signature of request
                    string sig = GenerateSig(token);
                    mPreparedParameters.Add(VKApiConst.SIG, sig);
                }
                //From that moment you cannot modify parameters.
                //Specially for http loading
            }
            return mPreparedParameters;
        }
Example #19
0
        public VkJsonRequest Send(Message message, params int[] id)
        {
            var parameters = new VKParameters();

            if (id.Length == 1)
            {
                parameters.Add(VKApiConst.USER_ID, id[0]);
            }
            else
            {
                parameters.Add(VKApiConst.USER_IDS, string.Join(",", id));
            }

            parameters.Add(VKApiConst.MESSAGE, message.body);
            return PrepareJsonRequest("send", parameters, AbstractRequest.HttpMethod.GET);
        }
Example #20
0
 /**
  * https://vk.com/dev/users.search
  *
  * @param params use parameters from description with VKApiConst class
  * @return Request for load
  */
 public VKRequest<UserArray> Search(VKParameters parameters)
 {
     return PrepareRequest<UserArray>("search", parameters, AbstractRequest.HttpMethod.GET);
 }
Example #21
0
            private void GetWallPost(object sender, EventArgs e)
            {
                var request = VKApi.Wall.GetById(VKParameters.From(VKApiConst.Posts, WallPostId));

                StartApiCall(request);
            }
Example #22
0
 public VKRequest<Array<Message>> Get(VKParameters parameters)
 {
     return PrepareRequest<Array<Message>>("get", parameters);
 }
Example #23
0
 public VkJsonRequest GetChatUsers(VKParameters parameters)
 {
     throw new NotImplementedException();
 }
Example #24
0
 /**
  * https://vk.com/dev/users.getSubscriptions
  *
  * @param params use parameters from description with VKApiConst class
  * @return Request for load
  */
 public VkJsonRequest GetSubscriptions(VKParameters parameters)
 {
     return PrepareJsonRequest("getSubscriptions", parameters);
 }
Example #25
0
 public void Repeat()
 {
     mAttemptsUsed = 0;
     mPreparedParameters = null;
     GetResponse();
 }
Example #26
0
        /**
         * Serialize token into string
         *
         * @return Serialized token string as query-string
         */
        public override string ToString()
        {
            var parameters = new VKParameters
            {
                {ACCESS_TOKEN, accessToken},
                {EXPIRES_IN, expiresIn},
                {USER_ID, userId},
                {CREATED, created}
            };

            if (secret != null)
            {
                parameters.Add(SECRET, secret);
            }
            if (httpsRequired)
            {
                parameters.Add(HTTPS_REQUIRED, "1");
            }

            return VKstringJoiner.joinParams(parameters);
        }
Example #27
0
 public VkJsonRequest(string method, VKParameters parameters, HttpMethod httpMethod, IRequestFactory factory)
     : base(method, parameters, httpMethod, factory)
 {
 }
Example #28
0
 /**
  * Creates new request with parameters. See documentation for methods here https://vk.com/dev/methods
  *
  * @param method     API-method name, e.g. audio.get
  * @param parameters method parameters
  */
 protected AbstractRequest(string method, VKParameters parameters, IRequestFactory requestFactory)
     : this(method, parameters, HttpMethod.GET, requestFactory)
 {
 }
Example #29
0
 public Array<Message> GetById(VKParameters parameters)
 {
     throw new NotImplementedException();
 }
Example #30
0
 public VkJsonRequest GetLongPollServer(VKParameters parameters)
 {
     throw new NotImplementedException();
 }
Example #31
0
 /**
  * https://vk.com/dev/users.getFollowers
  *
  * @param params use parameters from description with VKApiConst class
  * @return Request for load
  */
 public VKRequest<UserArray> GetFollowers(VKParameters parameters)
 {
     return PrepareRequest<UserArray>("getFollowers", parameters);
 }
Example #32
0
 public VkJsonRequest MarkAsRead(VKParameters parameters)
 {
     throw new NotImplementedException();
 }
Example #33
0
 public VkJsonRequest GetLastActivity(VKParameters parameters)
 {
     throw new NotImplementedException();
 }
Example #34
0
 public VkJsonRequest Restore(VKParameters parameters)
 {
     throw new NotImplementedException();
 }
Example #35
0
 public VkJsonRequest SearchDialogs(VKParameters parameters)
 {
     throw new NotImplementedException();
 }
Example #36
0
 public void addExtraParameters(VKParameters extraParameters)
 {
     foreach (var extraParameter in extraParameters)
     {
         mMethodParameters.Add(extraParameter.Key, extraParameter.Value);
     }
 }