Нашел скрипт, вот исполнительная часть:
function getUrl($url, $type="GET", $params=array(), $timeout=30) {
if ($ch = curl_init()) {
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
if ($type == "POST") {
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, urldecode(http_build_query($params)));
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_USERAGENT, 'PHP Bot (
http://bazarbratsk.ru)');
$data = curl_exec($ch);
curl_close($ch);
return $data;
} else {
return "{}";
}
}
function arInStr($array) {
ksort($array);
$string = "";
foreach($array as $key=>$val) {
if (is_array($val)) {
$string .= $key."=".arInStr($val);
} else {
$string .= $key."=".$val;
}
}
return $string;
}
$ok_access_token = "tkn14Xrkj17NtyTSLDM*********uP1X5CWzjxydP";//Наш вечный токен
$ok_private_key = "8BAD5FF7****34CD79F4";//Секретный ключ приложения
$ok_public_key = "CBAKHPD***";//Публичный ключ приложения
$params = array(
"application_key"=>$ok_public_key,
"method"=>"mediatopic.post",
"gid"=>"52987290124455",//ID нашей группы
"type"=>"GROUP_THEME",
"attachment"=>'{"media": [{"type": "link","url": "
vp43.ru"}]}',
"format"=>"json"
);
$sig = md5(arInStr($params).md5("{$ok_access_token}{$ok_private_key}"));
$params["access_token"]=$ok_access_token;
$params["sig"]=$sig;
$result = json_decode(getUrl("
https://api.ok.ru/fb.do", "POST", $params), true);
//Если парсер не смог открыть нашу ссылку (иногда он это делает со второй попытки), то отправляем ещё раз
if (isset($result['error_code']) && $result['error_code'] == 5000) {
getUrl("
https://api.ok.ru/fb.do", "POST", $params);
}
print_r($result);
Пересоздал, токен, стало приходить вот такое сообщение:
Array ( [error_code] => 456 [error_msg] => GROUP_RESTRICTION : errors.group.cannot_create_topic [error_data] => )