示例#1
0
        private static VKParams parseParamsForGet(
            IEnumerable<FieldsEnum> fields,
            Int64? userId,
            OrderEnum? order,
            Int64? listId,
            Int32? count,
            Int32? offset,
            NameCaseEnum? nameCase
            )
        {
            VKParams param = new VKParams();

            if (fields != null)
            {
                param.Add("fields", String.Join(",", fields));
            }
            if (userId.HasValue)
            {
                param.Add("user_id", userId.Value);
            }
            if (order.HasValue)
            {
                param.Add("order", order.Value);
            }
            if (listId.HasValue)
            {
                param.Add("list_id", listId.Value);
            }
            if (count.HasValue)
            {
                param.Add("count", count.Value);
            }
            if (offset.HasValue)
            {
                param.Add("offset", offset.Value);
            }
            if (nameCase.HasValue)
            {
                param.Add("name_case", nameCase.Value);
            }

            return param;
        }
示例#2
0
        /// <summary>
        ///     Возвращает расширенную информацию о друзьях пользователя
        /// </summary>
        /// <param name="fields">Cписок дополнительных полей, которые необходимо вернуть</param>
        /// <param name="userId">
        ///     Идентификатор пользователя, для которого необходимо получить список друзей. Если параметр не
        ///     задан, то считается, что он равен идентификатору текущего пользователя
        /// </param>
        /// <param name="order">Порядок, в котором нужно вернуть список друзей</param>
        /// <param name="listId">Идентификатор списка друзей, друзей из которого необходимо получить</param>
        /// <param name="count">Количество друзей, которое нужно вернуть</param>
        /// <param name="offset">Смещение, необходимое для выборки определенного подмножества друзей</param>
        /// <param name="nameCase">Падеж для склонения имени и фамилии пользователя</param>
        /// <param name="token">Токен для отмены выполнения запроса</param>
        /// <returns>Список друзей</returns>
        public static async Task<VKList<VKFriend>> GetExtendedAsync(
            IEnumerable<FieldsEnum> fields,
            Int64? userId = null,
            OrderEnum? order = null,
            Int64? listId = null,
            Int32? count = null,
            Int32? offset = null,
            NameCaseEnum? nameCase = null,
            CancellationToken? token = null
            )
        {
            VKParams param = parseParamsForGet(fields, userId, order, listId, count, offset, nameCase);
            string response = await VKSession.Instance.DoRequestAsync("friends.get", param);

            JObject obj = JObject.Parse(response);

            if (obj["response"] == null) return null;
            var objArr = await JsonConvert.DeserializeObjectAsync<VKList<VKFriend>>(obj["response"].ToString());
            if (token.HasValue) token.Value.ThrowIfCancellationRequested();

            return objArr;
        }
示例#3
0
        /// <summary>
        ///     Возвращает расширенную информацию о друзьях пользователя
        /// </summary>
        /// <param name="fields">Cписок дополнительных полей, которые необходимо вернуть</param>
        /// <param name="userId">
        ///     Идентификатор пользователя, для которого необходимо получить список друзей. Если параметр не
        ///     задан, то считается, что он равен идентификатору текущего пользователя
        /// </param>
        /// <param name="order">Порядок, в котором нужно вернуть список друзей</param>
        /// <param name="listId">Идентификатор списка друзей, друзей из которого необходимо получить</param>
        /// <param name="count">Количество друзей, которое нужно вернуть</param>
        /// <param name="offset">Смещение, необходимое для выборки определенного подмножества друзей</param>
        /// <param name="nameCase">Падеж для склонения имени и фамилии пользователя</param>
        /// <returns>Список друзей</returns>
        public static VKList<VKFriend> GetExtended(
            IEnumerable<FieldsEnum> fields,
            Int64? userId = null,
            OrderEnum? order = null,
            Int64? listId = null,
            Int32? count = null,
            Int32? offset = null,
            NameCaseEnum? nameCase = null
            )
        {
            VKParams param = parseParamsForGet(fields, userId, order, listId, count, offset, nameCase);
            string response = VKSession.Instance.DoRequest("friends.get", param);

            JObject obj = JObject.Parse(response);

            if (obj["response"] == null) return null;

            var objArr = JsonConvert.DeserializeObject<VKList<VKFriend>>(obj["response"].ToString());

            return objArr;
        }