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.



10
11
12
# File 'lib/niconico/nico_api.rb', line 10

def initialize(parent)
  @parent = parent
end

Instance Method Details

#agentObject



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

def agent; @parent.agent; end

#get_tokenObject



18
19
20
21
22
23
24
25
26
# File 'lib/niconico/nico_api.rb', line 18

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



28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/niconico/nico_api.rb', line 28

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,
      token: token
    }
  )
end

#tokenObject



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

def token; @token ||= get_token; end