Method: Baidu::OAuth::RESTClient#are_friends

Defined in:
lib/baidu/oauth/rest_client.rb

#are_friends(uid1, uid2) ⇒ Array #are_friends(uids1, uids2) ⇒ Array

获得指定用户之间好友关系

获得指定用户之间是否是好友关系。第一个数组指定一半用户,第二个数组指定另外一半,两个数组必须同样的个数,一次最多可以查20个

Examples:

返回的原始 JSON

[
  {
    "uid1": "2222",
    "uid2": "1111",
    "are_friends": "1",
    "are_friends_reverse": "0"
  },
  {
    "uid1": "3333",
    "uid2": "2222",
    "are_friends": "0",
    "are_friends_reverse": "1"
  }
]

:are_friends         uid2

Overloads:

  • #are_friends(uid1, uid2) ⇒ Array

    Parameters:

    • uid1 (String)
    • uid2 (String)
  • #are_friends(uids1, uids2) ⇒ Array

    Parameters:

    • uids1 (Array<String>)
    • uids2 (Array<String>)

Returns:

  • (Array)

    are_friends 和 are_friends_reverse 值在原始 JSON 基础之上转换为 true 或者 false

See Also:



232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
# File 'lib/baidu/oauth/rest_client.rb', line 232

def are_friends(uids1, uids2)
  body = {}
  case
  when uids1.is_a?(String) && uids2.is_a?(String)
    body[:uids1], body[:uids2] = uids1, uids2
  when uids1.is_a?(Array)  && uids2.is_a?(Array)
    raise ArgumentError, 'not the same size of array' unless uids1.size == uids2.size
    body[:uids1], body[:uids2] = uids1.join(','), uids2.join(',')
  else
    raise ArgumentError, 'not the same types'
  end

  rest = api_request '/friends/areFriends', body
  rest.each do |h|
    h[:are_friends] = h[:are_friends] == '1'
    h[:are_friends_reverse] = h[:are_friends_reverse] == '1'
  end
end