Class: PPC::API::Baidu::Keyword

Inherits:
PPC::API::Baidu show all
Defined in:
lib/ppc/api/baidu/keyword.rb

Constant Summary collapse

Service =
'Keyword'
Match_type =
{ 'exact' => 1, 'phrase' => 2, 'wide' => 3,1 => 'exact', 2=> 'phrase' , 3 => 'wide'  }
Device =
{ 'pc' => 0, 'mobile' => 1, 'all' => 2 }
Type =
{ 'plan' => 3, 'group' => 5, 'keyword' => 11 }

Class Method Summary collapse

Methods inherited from PPC::API::Baidu

debug_off, debug_on, process, request, request_uri

Methods included from PPC::API

#debug_off, #debug_on, #is_no_quota, #make_type, #process, #request, #request_http_body, #request_http_header, #request_uri, #reverse_type

Class Method Details

.activate(auth, ids) ⇒ Object



77
78
79
80
81
82
83
84
# File 'lib/ppc/api/baidu/keyword.rb', line 77

def self.activate( auth, ids )
  """
  """
  ids = [ ids ] unless ids.is_a? Array
  body = { keywordIds: ids }
  response = request( auth, Service, 'activateKeyword', body)
  return process(response, 'keywordTypes' ){|x| reverse_type(x)  }
end

.add(auth, keywords) ⇒ Object



50
51
52
53
54
55
56
57
# File 'lib/ppc/api/baidu/keyword.rb', line 50

def self.add( auth, keywords )
  '''
  '''
  keywordtypes = make_type( keywords ) 
  body = { keywordTypes: keywordtypes }
  response = request( auth, Service, "addKeyword", body )
  return process(response, 'keywordTypes' ){|x| reverse_type(x)  }
end

.delete(auth, ids) ⇒ Object



68
69
70
71
72
73
74
75
# File 'lib/ppc/api/baidu/keyword.rb', line 68

def self.delete( auth, ids )
  """
  """
  ids = [ ids ] unless ids.is_a? Array
  body = { keywordIds: ids}
  response = request( auth, Service, 'deleteKeyword', body )
  return process(response, 'result' ){|x| x }
end

.get(auth, ids) ⇒ Object

后面改成info方法



40
41
42
43
44
45
46
47
48
# File 'lib/ppc/api/baidu/keyword.rb', line 40

def self.get( auth, ids )
  '''
  getKeywordByKeywordId
  '''
  ids = [ ids ] unless ids.is_a? Array
  body = { keywordIds: ids}
  response = request( auth, Service, 'getKeywordByKeywordId', body )
  return process(response, 'keywordTypes' ){|x| reverse_type( x ) }
end

.quality(auth, ids, type, device) ⇒ Object



125
126
127
128
129
130
131
132
133
# File 'lib/ppc/api/baidu/keyword.rb', line 125

def self.quality( auth ,ids, type, device )
  '''
  Return 10Quanlity *Not the old Quality* of given ketword id
  '''
  ids = [ ids ] unless ids.is_a? Array
  body = { ids: ids, type: Type[type], device:Device[device] }
  response = request( auth, Service, 'getKeyword10Quality', body )
  return process(response, 'keyword10Quality' ){|x| reverse_type( x, @quality10_map ) }
end

.search_by_group_id(auth, group_ids) ⇒ Object



86
87
88
89
90
91
92
93
94
95
96
# File 'lib/ppc/api/baidu/keyword.rb', line 86

def self.search_by_group_id( auth, group_ids  )
  """
  getKeywordByGroupIds
  @input: list of group id
  @output:  list of groupKeyword
  """
  group_ids = [ group_ids ] unless group_ids.is_a? Array
  body = { adgroupIds: group_ids }
  response = request( auth, Service, "getKeywordByAdgroupId", body )
  return process(response, 'groupKeywords' ){|x| make_groupKeywords( x ) }
end

.search_id_by_group_id(auth, group_ids) ⇒ Object



98
99
100
101
102
103
# File 'lib/ppc/api/baidu/keyword.rb', line 98

def self.search_id_by_group_id( auth, group_ids  )
  group_ids = [ group_ids ] unless group_ids.is_a? Array
  body = { adgroupIds: group_ids }
  response = request( auth, Service, "getKeywordIdByAdgroupId", body )
  return process(response, 'groupKeywordIds' ){|x| make_groupKeywordIds( x ) }
end

.status(auth, ids, type) ⇒ Object

下面三个操作操作对象包括计划,组和关键字 不知道放在这里合不合适



107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/ppc/api/baidu/keyword.rb', line 107

def self.status( auth, ids, type )
  '''
  Return [{ id: id, status: status } ... ]
  '''
  ids = [ ids ] unless ids.is_a? Array
  body = { ids: ids, type: Type[type]}
  response = request( auth, Service, 'getKeywordStatus', body )
  return process(response, 'keywordStatus' ){  |statusTypes| 
    statusTypes = [statusTypes] unless statusTypes.is_a? Array
    status =[]

    statusTypes.each do |statusType|
      status << { id: statusType['id'], status: statusType['status'] }
    end
    return status
   }
end

.update(auth, keywords) ⇒ Object



59
60
61
62
63
64
65
66
# File 'lib/ppc/api/baidu/keyword.rb', line 59

def self.update( auth, keywords  )
  '''
  '''
  keywordtypes = make_type( keywords ) 
  body = { keywordTypes: keywordtypes }
  response = request( auth, Service, "updateKeyword", body )
  return process(response, 'keywordTypes' ){|x| reverse_type(x)  }
end