Class: Niconico::NicoAPI

Inherits:
Object
  • Object
show all
Defined in:
lib/niconico/nico_api.rb

Defined Under Namespace

Classes: AcquiringTokenError, ApiError

Constant Summary collapse

MYLIST_ITEM_TYPES =
{video: 0, seiga: 5}

Instance Method Summary collapse

Constructor Details

#initialize(parent) ⇒ NicoAPI

Returns a new instance of NicoAPI.



18
19
20
# File 'lib/niconico/nico_api.rb', line 18

def initialize(parent)
  @parent = parent
end

Instance Method Details

#agentObject



22
# File 'lib/niconico/nico_api.rb', line 22

def agent; @parent.agent; end

#get_tokenObject



26
27
28
29
30
31
32
33
34
# File 'lib/niconico/nico_api.rb', line 26

def get_token
  page = agent.get(Niconico::URL[:my_mylist])
  match = page.search("script").map(&:inner_text).grep(/\tNicoAPI\.token/) {|v| v.match(/\tNicoAPI\.token = "(.+)";\n/)}.first
  if match
    match[1]
  else
    raise AcquiringTokenError, "Couldn't find a token"
  end
end

#mylist_add(group_id, item_type, item_id, description = '') ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
# File 'lib/niconico/nico_api.rb', line 36

def mylist_add(group_id, item_type, item_id, description='')
  !!post(
    '/api/mylist/add',
    {
      group_id: group_id,
      item_type: MYLIST_ITEM_TYPES[item_type],
      item_id: item_id,
      description: description,
    }
  )
end

#tokenObject



24
# File 'lib/niconico/nico_api.rb', line 24

def token; @token ||= get_token; end