示例#1
0
 /// <inheritdoc/>
 public object AddAppEvent(ulong userId, ulong activityId, ulong?value = null)
 {
     return(_vk.Call <object>("secure.addAppEvent",
                              new VkParameters {
         { "user_id", userId }, { "activity_id", activityId }, { "value", value }
     }));
 }
 /// <inheritdoc />
 public VkCollection <Comment> GetComments(GetCommentsParams getCommentsParams)
 {
     return(_vk.Call <VkCollection <Comment> >("widgets.getComments"
                                               , getCommentsParams
                                               , false
                                               , new VkCollectionJsonConverter(collectionField: "posts")));
 }
示例#3
0
        /// <summary>
        /// Получает список идентификаторов пользователей или сообществ, которые добавили
        /// заданный объект в свой список Мне
        /// нравится.
        /// </summary>
        /// <param name="params"> Параметры запроса. </param>
        /// <param name="skipAuthorization"> Если <c> true </c>, то пропустить авторизацию </param>
        /// <returns>
        /// Возвращает список идентификаторов пользователей или сообществ, которые добавили
        /// заданный объект в свой список Мне
        /// нравится.
        /// </returns>
        /// <remarks>
        /// Страница документации ВКонтакте http://vk.com/dev/likes.getList
        /// </remarks>
        public VkCollection <long> GetList(LikesGetListParams @params, bool skipAuthorization = false)
        {
            @params.Extended = false;

            return(_vk.Call(methodName: "likes.getList", parameters: @params, skipAuthorization: skipAuthorization)
                   .ToVkCollectionOf <long>(selector: x => x));
        }
示例#4
0
        public Status Get(long userId, long?groupId = null)
        {
            var parameters = new VkParameters
            {
                { "user_id", userId }
                , { "group_id", groupId }
            };

            return(_vk.Call(methodName: "status.get", parameters: parameters));
        }
示例#5
0
 /// <inheritdoc />
 public ReadOnlyCollection <StorageObject> Get(IEnumerable <string> keys = null, ulong?userId = null, bool?global = null)
 {
     return(_vk.Call <ReadOnlyCollection <StorageObject> >(methodName: "storage.get"
                                                           , parameters: new VkParameters
     {
         { "keys", keys }
         , { "user_id", userId }
         , { "global", global }
     }));
 }
示例#6
0
 /// <inheritdoc />
 public long Add(NotesAddParams notesAddParams)
 {
     return(_vk.Call(methodName: "notes.add",
                     parameters: new VkParameters
     {
         { "title", notesAddParams.Title },
         { "text", notesAddParams.Text },
         { "privacy_view", notesAddParams.PrivacyView },
         { "privacy_comment", notesAddParams.PrivacyComment }
     }));
 }
示例#7
0
        /// <summary>
        /// Проверяет правильность введённого номера.
        /// </summary>
        /// <param name="phone">
        /// Номер телефона регистрируемого пользователя. строка, обязательный параметр
        /// (Строка, обязательный
        /// параметр).
        /// </param>
        /// <param name="clientId">
        /// Идентификатор Вашего приложения. целое число (Целое
        /// число).
        /// </param>
        /// <param name="clientSecret">
        /// Секретный ключ приложения, доступный в разделе редактирования приложения.
        /// строка,
        /// обязательный параметр (Строка, обязательный параметр).
        /// </param>
        /// <param name="authByPhone">
        /// Флаг, может принимать значения 1 или 0 (Флаг, может
        /// принимать значения 1 или 0).
        /// </param>
        /// <returns>
        /// В случае, если номер пользователя является правильным, будет возвращён
        /// <c> true </c>.
        /// </returns>
        /// <remarks>
        /// Страница документации ВКонтакте http://vk.com/dev/auth.checkPhone
        /// </remarks>
        public bool CheckPhone(string phone, string clientSecret, long?clientId = null, bool?authByPhone = null)
        {
            var parameters = new VkParameters
            {
                { "phone", phone }
                , { "client_id", clientId }
                , { "client_secret", clientSecret }
                , { "auth_by_phone", authByPhone }
            };

            return(_vk.Call(methodName: "auth.checkPhone", parameters: parameters));
        }
 /// <inheritdoc />
 public IEnumerable <NotificationGetResult> Get(ulong?count                    = null
                                                , string startFrom             = null
                                                , IEnumerable <string> filters = null
                                                , long?startTime               = null
                                                , long?endTime                 = null)
 {
     return(_vk.Call <IEnumerable <NotificationGetResult> >(methodName: "notifications.get"
                                                            , parameters: new VkParameters
     {
         { "count", count }
         , { "start_from", startFrom }
         , { "filters", filters }
         , { "start_time", startTime }
         , { "end_time", endTime }
     }));
 }
示例#9
0
 /// <inheritdoc/>
 public bool CancelSubscription(ulong userId, ulong subscriptionId, bool?pendingCancel = null)
 {
     return(_vk.Call <bool>("orders.cancelSubscription",
                            new VkParameters
     {
         { "user_id", userId },
         { "subscription_id", subscriptionId },
         { "pending_cancel", pendingCancel }
     }));
 }
示例#10
0
        public LinkAccessType CheckLink(Uri url, bool skipAuthorization = true)
        {
            var parameters = new VkParameters {
                { "url", url }
            };

            return(_vk.Call(methodName: "utils.checkLink", parameters: parameters, skipAuthorization: skipAuthorization));
        }
示例#11
0
        /// <summary>
        /// Возвращает список полученных подарков пользователя.
        /// </summary>
        /// <param name="userId">
        /// Идентификатор пользователя, для которого необходимо
        /// получить список подарков.
        /// </param>
        /// <param name="count"> Количество подарков, которое нужно вернуть. </param>
        /// <param name="offset">
        /// Смещение, необходимое для выборки определенного
        /// подмножества подарков.
        /// </param>
        /// <returns>
        /// В случае успешного вступления в группу метод вернёт <c> true </c>, иначе
        /// <c> false </c>.
        /// Возвращает список объектов gift_item, каждый из которых содержит следующие
        /// поля:
        /// id — идентификатор полученного подарка;
        /// from_id — идентификатор пользователя, который отправил подарок, или 0, если
        /// отправитель скрыт;
        /// message — текст сообщения, приложенного к подарку;
        /// date — время отправки подарка в формате unixtime;
        /// gift — объект подарка в следующем формате:
        /// id — номер подарка;
        /// thumb_256 — url изображения подарка размером 256x256px;
        /// thumb_96 — url изображения подарка размером 96x96px;
        /// thumb_48 — url изображения подарка размером 48x48px;
        /// privacy — значение приватности подарка(только для текущего пользователя;
        /// возможные значения: 0 — имя отправителя и
        /// сообщение видно всем; 1 — имя отправителя видно всем, сообщение видно только
        /// получателю; 2 — имя отправителя
        /// скрыто, сообщение видно только получателю).
        /// </returns>
        /// <remarks>
        /// Страница документации ВКонтакте http://vk.com/dev/gifts.get
        /// </remarks>
        public VkCollection <GiftItem> Get(long userId, int?count = null, int?offset = null)
        {
            VkErrors.ThrowIfNumberIsNegative(expr: () => userId);

            var parameters = new VkParameters
            {
                { "user_id", userId }
                , { "count", count }
                , { "offset", offset }
            };

            return(_vk.Call(methodName: "gifts.get", parameters: parameters).ToVkCollectionOf <GiftItem>(selector: x => x));
        }
示例#12
0
 /// <inheritdoc />
 public long Add(PlacesAddParams placesAddParams)
 {
     return(_vk.Call(methodName: "places.add",
                     parameters: new VkParameters
     {
         { "title", placesAddParams.Title },
         { "latitude", placesAddParams.Latitude },
         { "longitude", placesAddParams.Longitude },
         { "address", placesAddParams.Address },
         { "type", placesAddParams.Type },
         { "country", placesAddParams.Country },
         { "city", placesAddParams.City }
     })["id"]);
 }
示例#13
0
        /// <inheritdoc />
        public Checked CheckUser(CheckUserParams checkUserParams)
        {
            var result = new VkParameters
            {
                { "lead_id", checkUserParams.LeadId }
                , { "country", checkUserParams.Country }
                , { "test_result", checkUserParams.TestResult }
                , { "test_mode", checkUserParams.TestMode }
                , { "auto_start", checkUserParams.AutoStart }
                , { "age", checkUserParams.Age }
            };

            return(_vk.Call <Checked>(methodName: "leads.checkUser", parameters: result));
        }
示例#14
0
 /// <summary>
 /// Возвращает детальную информацию об опросе по его идентификатору.
 /// </summary>
 /// <param name="params"> Параметры </param>
 /// <returns> </returns>
 public Poll GetById(PollsGetByIdParams @params)
 {
     return(_vk.Call(methodName: "polls.getById", parameters: @params));
 }
示例#15
0
        public VkCollection <Country> GetCountries(bool?needAll = null
                                                   , IEnumerable <Iso3166> codes = null
                                                   , int?count  = null
                                                   , int?offset = null)
        {
            VkErrors.ThrowIfNumberIsNegative(expr: () => offset);
            VkErrors.ThrowIfNumberIsNegative(expr: () => count);

            var parameters = new VkParameters
            {
                { "code", codes }
                , { "offset", offset }
                , { "count", count }
                , { "need_all", needAll }
            };

            return(_vk.Call(methodName: "database.getCountries", parameters: parameters, skipAuthorization: true)
                   .ToVkCollectionOf <Country>(selector: x => x));
        }
示例#16
0
 /// <summary>
 /// Возвращает ненулевые значения счетчиков пользователя.
 /// </summary>
 /// <param name="filter">
 /// Счетчики, информацию о которых нужно вернуть (friends, messages, photos,
 /// videos, notes, gifts, events, groups,
 /// notifications, sdk, app_requests).
 /// sdk - возвращает количество запросов в приложениях.
 /// app_requests - возвращает количество непрочитанных запросов в приложениях.
 /// список слов, разделенных через запятую
 /// (Список слов, разделенных через запятую).
 /// </param>
 /// <returns>
 /// Возвращает объект, который может содержать поля friends, messages, photos,
 /// videos, notes, gifts, events, groups,
 /// notifications, sdk, app_requests.
 /// </returns>
 /// <remarks>
 /// Страница документации ВКонтакте http://vk.com/dev/account.getCounters
 /// </remarks>
 public Counters GetCounters(CountersFilter filter)
 {
     return(_vk.Call(methodName: "account.getCounters", parameters: new VkParameters {
         { "filter", filter }
     }));
 }
示例#17
0
        /// <summary>
        /// Возвращает информацию о видеозаписях.
        /// </summary>
        /// <param name="params"> Параметры запроса. </param>
        /// <returns>
        /// После успешного выполнения возвращает список объектов видеозаписей с
        /// дополнительным полем comments, содержащим
        /// число комментариев  у видеозаписи.
        /// Если был задан параметр extended=1, возвращаются дополнительные поля:
        /// privacy_view — настройки приватности в формате настроек приватности; (приходит
        /// только для текущего пользователя)
        /// privacy_comment — настройки приватности в формате настроек приватности;
        /// (приходит только для текущего пользователя)
        /// can_comment — может ли текущий пользователь оставлять комментарии к ролику (1 —
        /// может, 0 — не может);
        /// can_repost — может ли текущий пользователь скопировать ролик с помощью функции
        /// «Рассказать друзьям» (1 — может, 0 —
        /// не может);
        /// likes — информация об отметках «Мне нравится»:
        /// user_likes — есть ли отметка «Мне нравится» от текущего пользователя;
        /// count — число отметок «Мне нравится»;
        /// repeat — зацикливание воспроизведения видеозаписи (1 — зацикливается, 0 — не
        /// зацикливается).
        /// Если в Вашем приложении используется  прямая авторизация, возвращается
        /// дополнительное поле files, содержащее ссылку
        /// на файл с видео (если ролик размещен на сервере ВКонтакте) или ссылку на
        /// внешний ресурс (если ролик встроен с
        /// какого-либо видеохостинга).
        /// </returns>
        /// <remarks>
        /// Страница документации ВКонтакте http://vk.com/dev/video.get
        /// </remarks>
        public VkCollection <Video> Get(VideoGetParams @params)
        {
            VkErrors.ThrowIfNumberIsNegative(expr: () => @params.AlbumId);
            VkErrors.ThrowIfNumberIsNegative(expr: () => @params.Count);
            VkErrors.ThrowIfNumberIsNegative(expr: () => @params.Offset);

            return(_vk.Call(methodName: "video.get", parameters: @params).ToVkCollectionOf <Video>(selector: x => x));
        }
示例#18
0
 /// <summary>
 /// Возвращает информацию о вики-странице..
 /// </summary>
 /// <param name="params"> Параметры запроса. </param>
 /// <returns>
 /// Возвращает информацию о вики-странице в виде объекта page.
 /// Если был задан параметр need_source равный 1, дополнительно будет возвращено
 /// поле source.
 /// Если был задан параметр need_html равный 1, дополнительно будет возвращено поле
 /// html..
 /// </returns>
 /// <remarks>
 /// Страница документации ВКонтакте http://vk.com/dev/pages.get
 /// </remarks>
 public Page Get(PagesGetParams @params)
 {
     return(_vk.Call(methodName: "pages.get", parameters: @params));
 }
示例#19
0
 /// <inheritdoc />
 public bool TrackVisitor()
 {
     return(_vk.Call(methodName: "stats.trackVisitor", parameters: VkParameters.Empty));
 }
示例#20
0
        /// <inheritdoc />
        public WallGetObject Get(WallGetParams @params, bool skipAuthorization = false)
        {
            if (@params.Filter != null && @params.Filter == WallFilter.Suggests && @params.OwnerId >= 0)
            {
                throw new ArgumentException(message: "OwnerID must be negative in case filter equal to Suggests"
                                            , paramName: nameof(@params));
            }

            return
                (_vk.Call(methodName: "wall.get"
                          , parameters: @params
                          , skipAuthorization:
                          skipAuthorization));                              //, @params.Filter != WallFilter.Suggests && @params.Filter != WallFilter.Postponed);
        }
示例#21
0
        /// <inheritdoc />
        public NewsFeed Get(NewsFeedGetParams @params)
        {
            var response = _vk.Call(methodName: "newsfeed.get", parameters: @params);

            var result = new NewsFeed
            {
                Items     = response[key : "items"].ToReadOnlyCollectionOf <NewsItem>(selector : x => x),
                Profiles  = response[key : "profiles"].ToReadOnlyCollectionOf <User>(selector : x => x),
                Groups    = response[key : "groups"].ToReadOnlyCollectionOf <Group>(selector : x => x),
                NewOffset = response[key : "new_offset"],
                NextFrom  = response[key : "next_from"]
            };

            return(result);
        }
示例#22
0
        /// <summary>
        /// Возвращает список пользователей, добавленных текущим пользователем в закладки.
        /// </summary>
        /// <param name="offset">
        /// Смещение, необходимое для выборки определенного подмножества пользователей. По
        /// умолчанию — 0.
        /// положительное число (Положительное число).
        /// </param>
        /// <param name="count">
        /// Количество пользователей, информацию о которых необходимо вернуть.
        /// положительное число, по
        /// умолчанию 50 (Положительное число, по умолчанию 50).
        /// </param>
        /// <returns>
        /// После успешного выполнения возвращает список объектов пользователей.
        /// </returns>
        /// <remarks>
        /// Страница документации ВКонтакте http://vk.com/dev/fave.getUsers
        /// </remarks>
        public VkCollection <User> GetUsers(int?count = null, int?offset = null)
        {
            VkErrors.ThrowIfNumberIsNegative(expr: () => count);
            VkErrors.ThrowIfNumberIsNegative(expr: () => offset);

            var parameters = new VkParameters
            {
                { "count", count }
                , { "offset", offset }
            };

            return(_vk.Call(methodName: "fave.getUsers", parameters: parameters).ToVkCollectionOf <User>(selector: x => x));
        }
示例#23
0
 /// <summary>
 /// Возвращает список приложений, доступных для пользователей сайта через каталог
 /// приложений.
 /// </summary>
 /// <param name="params"> Параметры запроса. </param>
 /// <param name="skipAuthorization"> Если <c> true </c>, то пропустить авторизацию </param>
 /// <returns>
 /// После успешного выполнения возвращает общее число найденных приложений и массив
 /// объектов приложений.
 /// </returns>
 /// <remarks>
 /// К методу можно делать не более 60 запросов в минуту с одного IP или id.
 /// Страница документации ВКонтакте http://vk.com/dev/apps.getCatalog
 /// </remarks>
 public VkCollection <App> GetCatalog(AppGetCatalogParams @params, bool skipAuthorization = false)
 {
     return(_vk.Call(methodName: "apps.getCatalog", parameters: @params, skipAuthorization: skipAuthorization)
            .ToVkCollectionOf <App>(selector: x => x));
 }
示例#24
0
 /// <inheritdoc />
 public ReadOnlyCollection <AdsAccount> GetAccounts()
 {
     return(_vk.Call <ReadOnlyCollection <AdsAccount> >(methodName: "ads.getAccounts", parameters: new VkParameters()));
 }
示例#25
0
        /// <inheritdoc />
        public bool Join(long?groupId, bool?notSure = null)
        {
            var parameters = new VkParameters
            {
                { "group_id", groupId }
                , { "not_sure", notSure }
            };

            return(_vk.Call(methodName: "groups.join", parameters: parameters));
        }
 /// <inheritdoc/>
 public Uri GetAppImageUploadServer(object imageType)
 {
     return(_vk.Call <Uri>("appWidgets.getAppImageUploadServer", new VkParameters {
         { "image_type", imageType }
     }));
 }
示例#27
0
        /// <inheritdoc />
        public bool AddChatUser(long chatId, long userId)
        {
            var parameters = new VkParameters
            {
                { "chat_id", chatId },
                { "user_id", userId }
            };

            return(_vk.Call(methodName: "messages.addChatUser", parameters: parameters));
        }
示例#28
0
 /// <inheritdoc/>
 public ReadOnlyCollection <object> AddOfficeUsers(long accountId, string data)
 {
     return(_vk.Call <ReadOnlyCollection <object> >("ads.addOfficeUsers",
                                                    new VkParameters
     {
         { "account_id", accountId },
         { "data", data }
     }));
 }
示例#29
0
 /// <inheritdoc/>
 public bool BanOwner(IEnumerable <long> ownersIds)
 {
     return(_vk.Call <bool>("stories.banOwner", new VkParameters {
         { "owners_ids", ownersIds }
     }));
 }
示例#30
0
 /// <summary>
 /// Возвращает список идентификаторов друзей пользователя или расширенную
 /// информацию о друзьях пользователя (при
 /// использовании параметра fields).
 /// </summary>
 /// <param name="params"> Входные параметры выборки. </param>
 /// <param name="skipAuthorization"> Если <c> true </c>, то пропустить авторизацию </param>
 /// <returns>
 /// После успешного выполнения возвращает список идентификаторов (id) друзей
 /// пользователя, если параметр fields не
 /// использовался.
 /// При использовании параметра fields  возвращает список объектов пользователей,
 /// но не более 5000.
 /// </returns>
 /// <remarks>
 /// Страница документации ВКонтакте http://vk.com/dev/friends.get
 /// </remarks>
 public VkCollection <User> Get(FriendsGetParams @params, bool skipAuthorization = false)
 {
     return(_vk.Call(methodName: "friends.get", parameters: @params, skipAuthorization: skipAuthorization)
            .ToVkCollectionOf(selector: x => @params.Fields != null ? x : new User {
         Id = x
     }));
 }