vk api- фото на стену группы. - Visavi.net
https://visavi.net/
RSS - Visavi.net
https://visavi.net/assets/img/images/logo_small.png
RSS - Visavi.net
https://visavi.net/
[email protected] (admin)
[email protected] (admin)
Wed, 01 Jan 2025 03:40:27 +0300
-
Класс vkapi- скачан с vk.com и подогнан под фреймворк, ничего не изменялось.<br>
<pre class="prettyprint">
<?php
namespace Model;
class Vkapi extends \Model {
var $api_secret;
var $app_id;
var $api_url;
function __construct($app_id, $api_secret, $api_url = 'api.vk.com/api.php') {
$this->app_id = $app_id;
$this->api_secret = $api_secret;
if (!strstr($api_url, 'http://')) $api_url = 'http://'.$api_url;
$this->api_url = $api_url;
}
function api($method,$params=false) {
if (!$params) $params = array();
$params['api_id'] = $this->app_id;
$params['v'] = '3.0';
$params['method'] = $method;
$params['timestamp'] = time();
$params['format'] = 'json';
$params['random'] = rand(0,10000);
ksort($params);
$sig = '';
foreach($params as $k=>$v) {
$sig .= $k.'='.$v;
}
$sig .= $this->api_secret;
$params['sig'] = md5($sig);
$query = $this->api_url.'?'.$this->params($params);
$res = file_get_contents($query);
return json_decode($res, true);
}
function params($params) {
$pice = array();
foreach($params as $k=>$v) {
$pice[] = $k.'='.urlencode($v);
}
return implode('&',$pice);
}
}
?></pre>
<br>
Ответ:Array ( [error] => Array ( [error_code] => 4 [error_msg] => Incorrect signature: Session can be expired, revoked by user or connected with different IP address [request_params] => Array ( [0] => Array ( [key] => api_id [value] => 3300219 ) [1] => Array ( [key] => format [value] => json ) [2] => Array ( [key] => gid [value] => 48852036 ) [3] => Array ( [key] => method [value] => photos.getWallUploadServer ) [4] => Array ( [key] => random [value] => 5328 ) [5] => Array ( [key] => timestamp [value] => 1362576280 ) [6] => Array ( [key] => v [value] => 3.0 ) [7] => Array ( [key] => sig [value] => e7b98d0fba8d9bc023ba1964054a3f77 ) ) ) )
https://visavi.net/topics/37008/625026
vk api- фото на стену группы.
Андрей
Wed, 06 Mar 2013 17:46:42 +0400
Сообщения
https://visavi.net/topics/37008/625026
-
Есть группа вк, на неё нужно опубликовать фото скриптом, но выходит ошибка 4- Incorrect signature: Session can be expired, revoked by user or connected with different IP address. Чтение со стены происходит отлично, а вот это вызывает ошибку.<br>
<pre class="prettyprint"><?php
function post_on_wall($user_id=false,$group_id=false,$post=array())
/*
массив $post может содержать индексы:
text- текст поста.
photo_src- имя фотографии из папки /www/assets/files/imgs/, которая будет опублекована в посте.
*/
{
$Conf= new Conf;
$vk_config=$Conf->vk();
$Vkapi = new Vkapi($vk_config['api_id'], $vk_config['secret_key']);
if(isset($post['photo_src'])){
//Получаем URL для отправки POST запроса с фотографией.
if($user_id!=false){
$data = $Vkapi->api('photos.getWallUploadServer', array('uid'=>$user_id));
}else{
$data = $Vkapi->api('photos.getWallUploadServer', array('gid'=>$group_id));
}
if(!isset($data['response']['upload_url'])){
$this->last_error='Сервер vk.com не вернул URL для загрузки фотографии!';
//return false;
}
print_r($data);
//echo $data['response']['upload_url'];
exit;
}
}?></pre>
https://visavi.net/topics/37008/625025
vk api- фото на стену группы.
Андрей
Wed, 06 Mar 2013 17:45:17 +0400
Сообщения
https://visavi.net/topics/37008/625025