kelvin2
Новичок
Привет всем!
Помогите побороть ошибку 104 PARAM_SIGNATURE : Invalid signature при обращении к API odnoklassniki.
Суть такая: сделал авторизацию через api, получаю информацию о пользователе - все ок. Но как только пытаюсь получить информацию по группам пользователя, то выводит данную ошибку. Ошибка происходит при обращении к методу group.getUserGroupsByIds
Функция, через которую обращаюсь к методам ниже
Обращаюсь так:
Помогите побороть ошибку 104 PARAM_SIGNATURE : Invalid signature при обращении к API odnoklassniki.
Суть такая: сделал авторизацию через api, получаю информацию о пользователе - все ок. Но как только пытаюсь получить информацию по группам пользователя, то выводит данную ошибку. Ошибка происходит при обращении к методу group.getUserGroupsByIds
Функция, через которую обращаюсь к методам ниже
PHP:
//функция обращения к методу ОД
function get_method_od($public_key, $method, $tokenInfo, $client_secret, $dop_field = '') {
//если есть дополнительное поле
$dop = '' ;
if($dop_field) {
foreach($dop_field as $k=>$v) $dop .= $k.'='.$v ;
}
//*
$sign = md5("application_key=".$public_key."format=jsonmethod=".$method . $dop . md5($tokenInfo['access_token'].$client_secret)) ;
$params = array(
'method' => $method,
'access_token' => $tokenInfo['access_token'],
'application_key' => $public_key,
'format' => 'json',
'sig' => $sign
);
//если есть дополнительное поле
if($dop_field) {
foreach($dop_field as $k=>$v) $params[$k] = $v ;
}
//*
$userInfo = json_decode(file_get_contents('http://api.odnoklassniki.ru/fb.do' . '?' . urldecode(http_build_query($params))), true);
return $userInfo ;
}
//*
PHP:
$userInfo = get_method_od($public_key, 'group.getUserGroupsV2', $tokenInfo, $client_secret) ;
$i = 0 ;
if($userInfo['groups']) {
foreach($userInfo['groups'] as $k=>$v) {
//участников в группе
$params = array() ;
$params['group_id'] = $v['groupId'] ;
$params['uids'] = $new['id'] ;
$userInfo2 = get_method_od($public_key, 'group.getUserGroupsByIds', $tokenInfo, $client_secret, $params) ;
print_r($userInfo2) ;
//*
}
}