Skip to content
API wrapper for vk.com
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin Extract Logging to its own module Sep 29, 2016
data Better default values and enums handling for methods Sep 30, 2016
lib Regenerate API Sep 30, 2016
spec Specify how Method arguments are interpreted Sep 30, 2016
.codeclimate.yml
.gitignore Simplify backup logic Sep 8, 2016
.gitmodules Add VK JSON Schema Sep 28, 2016
.hound.yml
.rspec Add `lib` and `spec` directories to `$LOAD_PATH` for `RSpec` Sep 30, 2016
.rubocop.yml Provide templates for methods & responses specs Sep 29, 2016
.rubocop_todo.yml Regenerate RuboCop config Sep 30, 2016
.simplecov Fix CodeClimate Coverage loading Sep 29, 2016
.travis.yml Do not test on different rubies 2.* Jan 10, 2016
.yardopts Update gem dependencies to latest versions Sep 30, 2016
Gemfile Add RuboCop, fix code style Sep 27, 2016
MIT-LICENSE Specify MIT License Sep 29, 2016
README.md Fix typo in README Sep 29, 2016
Rakefile Introduce Vk::Schema Sep 29, 2016
vk.gemspec Update gem dependencies to latest versions Sep 30, 2016

README.md

Vk: API wrapper for vk.com

Vk is a wrapper for vk.com API

Project links

Installation

gem install vk

Usage

Initialization

Vk.app_id = 12345
Vk.app_secret = 'secret'

Basic usage

Simple request. Docs ad {Vk::Client}

vk = Vk.client
profiles = vk.request 'users.get', user_ids: 12345
puts profiles #=> {"response"=>[{"id"=>12345, "first_name"=>"Виталий", "last_name"=>"Михайлов"}]}

Usage with DSL

View methods list at {Vk::DSL}.

vk = Vk.client
profiles = vk.users.get(user_ids: [123, 456, 789], fields: %w(has_mobile))
p profiles.response # => [
                    #       #<Vk::API::Users::UserXtrCounters id=123 first_name="DELETED" last_name="" deactivated="deleted" hidden=nil sex=nil screen_name=nil photo_50=nil photo_100=nil online=nil nickname=nil maiden_name=nil domain=nil bdate=nil city=nil country=nil timezone=nil photo_200=nil photo_max=nil photo_200_orig=nil photo_400_orig=nil photo_max_orig=nil photo_id=nil has_photo=nil has_mobile=nil is_friend=nil friend_status=nil wall_comments=nil can_post=nil can_see_all_posts=nil can_see_audio=nil can_write_private_message=nil can_send_friend_request=nil mobile_phone=nil home_phone=nil skype=nil facebook=nil facebook_name=nil twitter=nil livejournal=nil instagram=nil site=nil status_audio=nil status=nil activity=nil last_seen=nil exports=nil crop_photo=nil verified=nil followers_count=nil blacklisted=nil blacklisted_by_me=nil is_favorite=nil is_hidden_from_feed=nil common_count=nil occupation=nil career=nil military=nil university=nil university_name=nil faculty=nil faculty_name=nil graduation=nil education_form=nil education_status=nil home_town=nil relation=nil relation_partner=nil personal=nil interests=nil music=nil activities=nil movies=nil tv=nil books=nil games=nil universities=nil schools=nil about=nil relatives=nil quotes=nil counters=nil>,
                    #       #<Vk::API::Users::UserXtrCounters id=456 first_name="DELETED" last_name="" deactivated="deleted" hidden=nil sex=nil screen_name=nil photo_50=nil photo_100=nil online=nil nickname=nil maiden_name=nil domain=nil bdate=nil city=nil country=nil timezone=nil photo_200=nil photo_max=nil photo_200_orig=nil photo_400_orig=nil photo_max_orig=nil photo_id=nil has_photo=nil has_mobile=nil is_friend=nil friend_status=nil wall_comments=nil can_post=nil can_see_all_posts=nil can_see_audio=nil can_write_private_message=nil can_send_friend_request=nil mobile_phone=nil home_phone=nil skype=nil facebook=nil facebook_name=nil twitter=nil livejournal=nil instagram=nil site=nil status_audio=nil status=nil activity=nil last_seen=nil exports=nil crop_photo=nil verified=nil followers_count=nil blacklisted=nil blacklisted_by_me=nil is_favorite=nil is_hidden_from_feed=nil common_count=nil occupation=nil career=nil military=nil university=nil university_name=nil faculty=nil faculty_name=nil graduation=nil education_form=nil education_status=nil home_town=nil relation=nil relation_partner=nil personal=nil interests=nil music=nil activities=nil movies=nil tv=nil books=nil games=nil universities=nil schools=nil about=nil relatives=nil quotes=nil counters=nil>,
                    #       #<Vk::API::Users::UserXtrCounters id=789 first_name="Ольга" last_name="Серебренникова" deactivated=nil hidden=nil sex=nil screen_name=nil photo_50=nil photo_100=nil online=nil nickname=nil maiden_name=nil domain=nil bdate=nil city=nil country=nil timezone=nil photo_200=nil photo_max=nil photo_200_orig=nil photo_400_orig=nil photo_max_orig=nil photo_id=nil has_photo=nil has_mobile=1 is_friend=nil friend_status=nil wall_comments=nil can_post=nil can_see_all_posts=nil can_see_audio=nil can_write_private_message=nil can_send_friend_request=nil mobile_phone=nil home_phone=nil skype=nil facebook=nil facebook_name=nil twitter=nil livejournal=nil instagram=nil site=nil status_audio=nil status=nil activity=nil last_seen=nil exports=nil crop_photo=nil verified=nil followers_count=nil blacklisted=nil blacklisted_by_me=nil is_favorite=nil is_hidden_from_feed=nil common_count=nil occupation=nil career=nil military=nil university=nil university_name=nil faculty=nil faculty_name=nil graduation=nil education_form=nil education_status=nil home_town=nil relation=nil relation_partner=nil personal=nil interests=nil music=nil activities=nil movies=nil tv=nil books=nil games=nil universities=nil schools=nil about=nil relatives=nil quotes=nil counters=nil>
                    #    ]

Usage with object oriented DSL

Currently implemented classes: {Vk::API::Users::User}, {Vk::API::Database::City}, {Vk::API::Database::City}, {Vk::API::Wall::Wallpost} and many more. See Vk::Schema::Object subclasses at rubydoc.info.

user = Vk.client.users.get(user_ids: 34160, fields: %w(
  nickname screen_name sex bdate city country timezone photo photo_medium photo_big has_mobile contacts education online counters relation last_seen activity can_write_private_message can_see_all_posts can_post universities city)).response.first
                        # => #<Vk::API::Users::UserXtrCounters id=34160 first_name="Александр" last_name="Семёнов" deactivated=nil hidden=nil sex=2 screen_name="alsemyonov" photo_50=nil photo_100=nil online=0 nickname="«Алекс»" maiden_name=nil domain=nil bdate="3.6.1988" city=#<Vk::API::Base::Object id=2 title="Санкт-Петербург"> country=#<Vk::API::Base::Country id=1 title="Россия"> timezone=nil photo_200=nil photo_max=nil photo_200_orig=nil photo_400_orig=nil photo_max_orig=nil photo_id=nil has_photo=nil has_mobile=1 is_friend=nil friend_status=nil wall_comments=nil can_post=0 can_see_all_posts=0 can_see_audio=nil can_write_private_message=1 can_send_friend_request=nil mobile_phone=nil home_phone=nil skype=nil facebook=nil facebook_name=nil twitter=nil livejournal=nil instagram=nil site=nil status_audio=nil status=nil activity="»Russland, wach auf!«" last_seen=#<Vk::API::Users::LastSeen time=1475098720 platform=7> exports=nil crop_photo=nil verified=nil followers_count=nil blacklisted=nil blacklisted_by_me=nil is_favorite=nil is_hidden_from_feed=nil common_count=nil occupation=nil career=nil military=nil university=nil university_name=nil faculty=nil faculty_name=nil graduation=nil education_form=nil education_status=nil home_town=nil relation=nil relation_partner=nil personal=nil interests=nil music=nil activities=nil movies=nil tv=nil books=nil games=nil universities=nil schools=nil about=nil relatives=nil quotes=nil counters=#<Vk::API::Users::UserCounters albums=23 videos=77 audios=0 notes=28 photos=784 groups=nil gifts=nil friends=nil online_friends=nil user_photos=nil user_videos=nil followers=531 subscriptions=nil pages=nil>>
user.first_name         # => 'Александр'
user.last_name          # => 'Семёнов'
user.city               # => #<Vk::API::Base::Object id=2 title="Санкт-Петербург">
user.country            # => #<Vk::API::Base::Country id=1 title="Россия">
user.site               # => "https://al.semyonov.us/"

License

© Alex Semyonov, alex@semyonov.us, 2011-2016, MIT License

You can’t perform that action at this time.